首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图在文件名中使用-r对文件进行mv时出错

试图在文件名中使用-r对文件进行mv时出错
EN

Server Fault用户
提问于 2022-04-13 10:28:00
回答 1查看 2.3K关注 0票数 8

我的问题是:

我有一个名为-r的文件:-r.jpg

当我尝试做一个mv *.jpg old/时,我得到:

代码语言:javascript
复制
mv: invalid option -- 'r'

即使是为了

代码语言:javascript
复制
for g in *.jpg;do echo $g &&mv "${g}" old/;done

我也有同样的错误。

EN

回答 1

Server Fault用户

发布于 2022-04-13 10:46:02

最简单的解决方案是在文件名前面加上描述相对路径的./

代码语言:javascript
复制
for g in *.jpg; do echo $g && mv "./${g}" old/; done

使用绝对路径也是可能的。

代码语言:javascript
复制
for g in $(pwd)/*.jpg; do echo $g && mv $g old/; done

或者,您可能希望使用find命令,因为它已经提供了相对路径(如果只想处理当前目录,可以使用--max-depth )。

代码语言:javascript
复制
for g in $(find . -name "*jpg"); do mv $g old; done

在最坏的情况下,您有许多复杂的不可解析字符,您可以引用与find -inum组合的inode编号并相应地处理您的文件。

代码语言:javascript
复制
 $ for g in $(ls -i1 ./*jpg | cut -f1 -d' '); do find . -inum $g -print0 | xargs -0 -I '{}' mv '{}' old; done
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1098500

复制
相关文章

相似问题

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