比较bash中的字母

时间:2012-05-20 10:15:29

标签: string compare

我想比较给定目录中文件的第一个字母(字符串),一旦比较成立,脚本就意味着将该特定文件复制或移动到另一个目录。

在这个例子中,我想复制所有那些大于字母表的文件" m"即一旦文件中的第一个字母大于" m",假设a

要比较的文件示例:mard_2002.dat,accd_2001.dat,mcck_1999.dat qddf_2010.dat

X =" M"

用于* .dat

中的文件

DO

t =" $(echo $ file | awk' {print substr($ 1,1,1)}')"

如果[" $ t" > " $ X" ]

然后
  cp $ file ./TEMP   echo"现在文件被编译了#34; 否则
 echo $ file 科幻 读停顿 完成

以上如果[" $ t" > " $ X" ]或者如果[" $ t" < " $ X" ]命令似乎总是返回true。如果[" $ t" =" $ x" ],在这种情况下,它只复制那些只以字母开头的文件" m"。

请提出任何意见 问候 Yacob

1 个答案:

答案 0 :(得分:0)

FOO=m

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