1. 程式人生 > >Linux shell 字串匹配

Linux shell 字串匹配

       最近進行指令碼學習的時候,遇到了字串匹配的問題,網上的內容也很亂,在這裡我就寫一個簡單可行的方法吧。

       首先假設一個場景:在一個資料夾裡有很多字尾為sh的檔案,那我怎麼移動除了指定的某些檔案之外檔案到特定資料夾中呢?

       具體程式如下(根據程式解決問題):

for file in $(ls *.sh)
do
	if echo	$file | grep 'move'
	then
		echo $file
	else
		mv $file shell/
	fi
done
exit 0

       在這個程式中,第三行就是實現了字串匹配的功能,它將對所有後綴為sh的檔名進行匹配,檔名內含有move的檔案就顯示出來,而其他的檔案就移動到shell資料夾下。

       這就是簡單的字串匹配, 具體格式如下:

echo 字串1 | grep 字串2

       它對字串1進行了匹配,如果有字串 2的內容,就返回1,如果沒有字串2的內容就返回0。

       這是個使用起來很方便的字串匹配程式,你說呢?偷笑