首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash mv不是目录

Bash mv不是目录
EN

Stack Overflow用户
提问于 2012-06-22 16:11:12
回答 2查看 14.5K关注 0票数 2

我的部分脚本是这样的:

代码语言:javascript
复制
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

脚本正在工作;唯一的问题是,当它尝试重命名文件时,我得到了以下错误消息:

代码语言:javascript
复制
mv: target `pollcodetemp_output*' is not a directory

也许这与IFS有关。我尝试在脚本的开头将其指定为:

代码语言:javascript
复制
IFS='
'

但它不起作用。我使用的是Windows文本编辑器,但我已经删除了CR。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-22 16:14:29

最有可能的是,你只需要:

代码语言:javascript
复制
mv temp_output* "$code"

这会将当前目录中名为temp_output*的文件移动到变量$code中指定的目录。

但是,如果$code是一个文件,那么您需要查找rename命令(有几个版本,具有不同的语法),或者您需要使用内部循环:

代码语言:javascript
复制
for file in temp_output*
do mv "$file" "$code$file"
done
票数 4
EN

Stack Overflow用户

发布于 2012-06-22 16:14:01

您正在尝试将多个文件移动到不是目录的名称,这是不可能的。这是因为您似乎试图将通配符模式重命名为通配符模式,这也是不可能的。我不会猜测你到底想要实现什么,所以我不能给你任何额外的建议。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11152444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档