0

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

在这个例子中,我想复制所有大于字母“m”的文件,即只要文件中的第一个字母大于“m”,假设一个

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

x="米"

对于 *.dat 中的文件

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

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

然后
cp $file ./TEMP echo "now the file is compied" else
echo $file fi read pause done

上面的 if [ "$t" > "$x" ] 或 if [ "$t" < "$x" ] 命令似乎总是返回 true。只有当我使用等号时,脚本才会正确复制,如果 ["$t" = "$x"],在这种情况下,它只会复制那些仅以字母“m”开头的文件。

如有任何意见,请问候 Yacob

4

1 回答 1

0
FOO=m

for FILE in `ls -1 [$FOO-z]*|grep -v "^$FOO"`
do
echo "Would do things to file $FILE"
done
于 2012-05-20T10:22:48.580 回答