-1
我在我的文件夾中有很多文件,都帶有.dat擴展名。我怎樣寫一個bash shell腳本,會做這樣的事情如何編寫搜索模式的shell腳本
if 2011_ac_.dat then
do something
if 2002_bc.dat then
do something else
所以根據ac
或bc
,會做某件事。有shell的正則表達式嗎?
我在我的文件夾中有很多文件,都帶有.dat擴展名。我怎樣寫一個bash shell腳本,會做這樣的事情如何編寫搜索模式的shell腳本
if 2011_ac_.dat then
do something
if 2002_bc.dat then
do something else
所以根據ac
或bc
,會做某件事。有shell的正則表達式嗎?
試試這個:
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 [[
假設這是對OP(對我而言,不可思議的)意圖的準確讀取,我會考慮一個「case」語句而不是一系列「if」。 –
根據什麼那些文件?現有的文件?具有特定內容的文件?正則表達式與這裏的任何東西有什麼關係? –
@EtanReisner是的文件已經存在,並做一些事情,只是如何做一個選擇取決於ac或bc? – MPejic
爲了測試一個文件是否存在(以及許多其他的東西),你需要'test' /'[''binary/builtin。像http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressions –