隨着Linux我想在使用的格式中自動添加Oracle數據庫表空間。要做到這一點,我想比前一個文件增加+1。Linux Bash自動編號的文件名沒有刪除前導零
數據文件通常被稱爲與這個格式:
/ora/oradata/tablespace_datafile.dbf
/ora/oradata/tablespace_datafile_02.dbf
/ora/oradata/tablespace_datafile_3.dbf
我能向$basefilename
提取與sed 's/[0-9].*//
一個變量,其給出作爲輸出:/ora/oradata/tablespace_datafile_
我也能夠提取sed s/[^0-9]//g
的數字應該爲$counter
的變量,這給出了上述示例的輸出:分別爲02
和3
。
我,但是,有困難添加+1到$counter
,而不刪除前導零(02
應該是未來03
,而是,我得到3
。我使用let counter++
。
當前代碼:
basefilename=`echo $connectdb | sed 's/[0-9].*//'`
counter=`echo $connectdb | sed 's/[^0-9]//g'`
let counter++
nextdatafilename=$basefilename$counter'.dbf'
任何建議
和'09'應該跟隨什麼? '10'還是'010'? – Leon
在'%02d'中使用'$ basefilename $(prinf「%02d」$ counter)'。dbf'''2'應該換成真正想要的數字 – GMichael
嗨,是的,10應該跟着09. –