2012-05-20 72 views
0

我想比較給定目錄中文件的第一個字母(字符串),並且一旦比較成立,腳本意圖將該特定文件複製或移動到另一個目錄。比較bash中的字母

在這個例子中我要複製所有那些比字母「M」,即只要從文件中第一字母比「M」的大於文件,假定文件的

實施例至比較:mard_2002.dat,accd_2001.dat,mcck_1999.dat qddf_2010.dat

X = 「M」

在*文件.DAT

噸=「$(回聲$文件| AWK '{打印SUBSTR(1,1,1 $)}') 「

如果[ 」$噸「> 」$ X「]

然後
CP $文件./TEMP 回聲」 現在文件compied」 別的
回聲$文件 音響 讀暫停 完成

上面如果[ 「$噸」> 「$ X」],或者如果[ 「$噸」 < 「$ X」]命令似乎總是返回true。當我使用等號時,腳本只能正確複製,如果[「$ t」=「$ x」],在這種情況下,它只有c選擇那些只以字母「m」開頭的文件。

任何意見,請 問候 Yacob

回答

0
FOO=m 

for FILE in `ls -1 [$FOO-z]*|grep -v "^$FOO"` 
do 
echo "Would do things to file $FILE" 
done