在Bash中提取子字符串在表單中給出文件名someletters_12345_moreleters.ext,我想提取這5位數,并將它們放入一個變量中。因此,為了強調這一點,我有一個文件名,其中有x個字符,然后是一個5位序列,兩邊都有一個下劃線,然后是另一組x個字符。我想取5位數,然后把它放進一個變量中。我非常感興趣的是,有多少種不同的方法可以做到這一點。
3 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
b=${a:12:5}
tmp=${a#*_} # remove prefix ending in "_"b=${tmp%_*} # remove suffix starting with "_"

波斯汪
TA貢獻1811條經驗 獲得超4個贊
number=$(echo $filename | egrep -o '[[:digit:]]{5}' | head -n1)
number=${filename:offset:length}
stuff_digits_...
number=$(echo $filename | awk -F _ '{ print $2 }')
number=$(echo $filename | tr -cd '[[:digit:]]')
- 3 回答
- 0 關注
- 472 瀏覽
添加回答
舉報
0/150
提交
取消