String 在bash中比较字母表
我想比较给定目录中文件的第一个字母(字符串),一旦比较为真,脚本就意味着要将该特定文件复制或移动到另一个目录 在本例中,我希望复制所有大于字母“m”的文件,即只要文件中的第一个字母大于“m”,假设 要比较的文件示例:mard_2002.dat、accd_2001.dat、mcck_1999.dat qddf_2010.dat x=“m” 对于*.dat中的文件 做 t=“$(echo$file | awk'{print substr($1,1,1)}”) 如果[“$t”>“$x”] 然后String 在bash中比较字母表,string,compare,String,Compare,我想比较给定目录中文件的第一个字母(字符串),一旦比较为真,脚本就意味着要将该特定文件复制或移动到另一个目录 在本例中,我希望复制所有大于字母“m”的文件,即只要文件中的第一个字母大于“m”,假设 要比较的文件示例:mard_2002.dat、accd_2001.dat、mcck_1999.dat qddf_2010.dat x=“m” 对于*.dat中的文件 做 t=“$(echo$file | awk'{print substr($1,1,1)}”) 如果[“$t”>“$x”] 然后 cp$
cp$file./TEMP echo“现在文件已完成” 否则
echo$文件 fi 阅读暂停 完成 上面的if[“$t”>“$x”]或if[“$t”<“$x”]命令似乎总是返回true。只有当我使用等号时,脚本才能正确复制,如果[“$t”=“$x”],在这种情况下,它只复制那些仅以字母“m”开头的文件 有什么意见吗 当做 亚科布
FOO=m
for FILE in `ls -1 [$FOO-z]*|grep -v "^$FOO"`
do
echo "Would do things to file $FILE"
done