今天在做批量图片重命名的时候发现下列报错
mv: invalid option -- '6'
Try `mv --help' for more information.
调查发现是因为文件中有带有-的名字比如
-6MX_oWOu7s.jpg
这个和命令带的参数的标记是一样的,如ls -ltr
解析的时候会错误的把“-ltr”解析为参数,所以也就无法列出“-ltr”中的内容
下面就说一下对这种文件怎么操作
对 Linux 文件名中有短横线“-”的操作
Linux 中"-"有特殊的含义,比如在命令的后面加"-"表示后面跟的是选项。但是如何新建带名字中有"-",下面介绍三种方法,比如要新建 文件 "-a":
1、cd .>-a
2、vi -- -a
3、echo"">-a
上面三种方法都可以在当前目录下新建一个"-a" 文件 ,当然还可以有别的方法新建,这里就不在介绍。如果要删除"-a"就比较麻烦了,如果你输入 rm -a,系统会提示你:
rm:无效选项 -- a
请尝试执行‘rm --help’来获取更多信息。
对于这样的 文件 可以有两种方法来删除,如下所示:
1、rm ./-a
2、rm -- -a
改名字也不用说了,基本上就是在 文件 名前面加"--"来表示转义字符就可以了!
实际例子
单个文件重命名 mv ./-name.jpg name.jpg
现在还没有研究出来批量重命名的方法。。。。蛋疼