2012-05-20 75 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