重命名失败但可以使用 -n(无操作)选项
Rename fails but does work with -n (no action) option
我正在尝试将一些格式为 Week_XX_2018-XX-XX_-_2018-XX-XX.md
的文件重命名为 Week_XX_2018-XX-XX/2018-XX-XX.md
。所以将 _-_
更改为 /
.
我尝试使用 rename
并首先使用 -n
选项对其进行了测试。这工作正常并为所有文件显示类似这样的内容:
$ rename -n 's/_-_/\//g' *
rename(Week_01_2018-12-03_-_2018-12-09.md, Week_01_2018-12-03/2018-12-09.md)
...
但是,如果在没有 -n
选项的情况下执行,命令将失败。它说
Can't rename Week_01_2018-12-03_-_2018-12-19.md Week_01_2018-12-03/2018-12-09: No such file or directory
为什么会这样?怎么能测试命令有效而实际命令不行呢?
字符“/”是特殊字符,因为它用作路径分隔符。有关重命名失败原因的更详细答案,请参阅 Is it possible to use "/" in a filename?。
我正在尝试将一些格式为 Week_XX_2018-XX-XX_-_2018-XX-XX.md
的文件重命名为 Week_XX_2018-XX-XX/2018-XX-XX.md
。所以将 _-_
更改为 /
.
我尝试使用 rename
并首先使用 -n
选项对其进行了测试。这工作正常并为所有文件显示类似这样的内容:
$ rename -n 's/_-_/\//g' *
rename(Week_01_2018-12-03_-_2018-12-09.md, Week_01_2018-12-03/2018-12-09.md)
...
但是,如果在没有 -n
选项的情况下执行,命令将失败。它说
Can't rename Week_01_2018-12-03_-_2018-12-19.md Week_01_2018-12-03/2018-12-09: No such file or directory
为什么会这样?怎么能测试命令有效而实际命令不行呢?
字符“/”是特殊字符,因为它用作路径分隔符。有关重命名失败原因的更详细答案,请参阅 Is it possible to use "/" in a filename?。