我的部分脚本是这样的:
while read line
do
code=`echo ${line} | awk '{print $1}'`
awk -f ${supscript}/rearrange.sh < ${base}/${code}
mv temp_output* "$code"temp_output*
done < filelist脚本正在工作;唯一的问题是,当它尝试重命名文件时,我得到了以下错误消息:
mv: target `pollcodetemp_output*' is not a directory也许这与IFS有关。我尝试在脚本的开头将其指定为:
IFS='
'但它不起作用。我使用的是Windows文本编辑器,但我已经删除了CR。
发布于 2012-06-22 16:14:29
最有可能的是,你只需要:
mv temp_output* "$code"这会将当前目录中名为temp_output*的文件移动到变量$code中指定的目录。
但是,如果$code是一个文件,那么您需要查找rename命令(有几个版本,具有不同的语法),或者您需要使用内部循环:
for file in temp_output*
do mv "$file" "$code$file"
done发布于 2012-06-22 16:14:01
您正在尝试将多个文件移动到不是目录的名称,这是不可能的。这是因为您似乎试图将通配符模式重命名为通配符模式,这也是不可能的。我不会猜测你到底想要实现什么,所以我不能给你任何额外的建议。
https://stackoverflow.com/questions/11152444
复制相似问题