我想比较给定目录中文件的第一个字母(字符串),一旦比较成立,脚本就意味着将该特定文件复制或移动到另一个目录。
在这个例子中,我想复制所有那些大于字母表的文件" 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
答案 0 :(得分:0)
FOO=m
for FILE in `ls -1 [$FOO-z]*|grep -v "^$FOO"`
do
echo "Would do things to file $FILE"
done