2015-11-10 44 views
-1

我在我的文件夾中有很多文件,都帶有.dat擴展名。我怎樣寫一個bash shell腳本,會做這樣的事情如何編寫搜索模式的shell腳本

if 2011_ac_.dat then 
do something 
if 2002_bc.dat then 
do something else 

所以根據acbc,會做某件事。有shell的正則表達式嗎?

+1

根據什麼那些文件?現有的文件?具有特定內容的文件?正則表達式與這裏的任何東西有什麼關係? –

+0

@EtanReisner是的文件已經存在,並做一些事情,只是如何做一個選擇取決於ac或bc? – MPejic

+0

爲了測試一個文件是否存在(以及許多其他的東西),你需要'test' /'[''binary/builtin。像http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressions –

回答

3

試試這個:

for file in *.dat; do 
    if [[ "$file" =~ ac ]]; then 
    echo "$file with ac" 
    fi 
    if [[ "$file" =~ bc ]]; then 
    echo "$file with bc" 
    fi 
done 

參見:help [[

+0

假設這是對OP(對我而言,不可思議的)意圖的準確讀取,我會考慮一個「case」語句而不是一系列「if」。 –