2016-07-01 3 views
0

にファイル名の数字の部分を取得する私のファイル名は、私はbashでそれから数値3523512を取得できますかbashの

AAA_BBB_CCC_6-28_04-12-33PM/fetch_352.txt 
AAA_BBB_CCC_6-28_04-12-33PM/fetch_351.txt 
AAA_BBB_CCC_6-28_04-12-33PM/fetch_2.txt 

のようなものがありますか?

私は

ls | sed -e s/[^0-9]//g 

を試してみましたが、それは救助に私628041233352

答えて

1

awkのようなものを提供します!

$ awk -F'[_.]' '{print $(NF-1)}' <<< "AAA_BBB_CCC_6-28_04-12-33PM/fetch_352.txt 
> AAA_BBB_CCC_6-28_04-12-33PM/fetch_351.txt                   
> AAA_BBB_CCC_6-28_04-12-33PM/fetch_2.txt" 

352 
351 
2 

使用は_.デリミタと最後から二番目のフィールドを印刷します。

0

シェルを使用するparameter expansionオペレータ。

filename=AAA_BBB_CCC_6-28_04-12-33PM/fetch_352.txt 
num=${filename##*_} # remove everything through the last _ 
num=${num%.txt} # remove .txt suffix 
echo $num # should print 352