Jae*_*ton 4 shell rename command-line-interface mv
我有一个使用重命名命令的 bash 脚本,如下所示:
sudo rename 's/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/Date-$1-$2-$3__Time-$4:$5:$6/' 2019*
Run Code Online (Sandbox Code Playgroud)
根据重命名手册页,该命令默认情况下应覆盖,而不是使用 -o 标志覆盖。但是当我运行脚本时它不会覆盖现有文件。但是,我收到一个错误,并且重复的文件没有得到脚本完成的任何其他处理。
重命名文件
20190710220231.WAV 未重命名:Date-2019-07-10__Time-22:02:31.WAV 已存在 20190710220300.WAV 未重命名:Date-2019-07-10__Time-22:03:00.WAV 已存在 20190710220338.WAV 不重命名:Date-2019-07-10__Time-22:03:38.WAV 已存在 20190710220349.WAV 未重命名:Date-2019-07-10__Time-22:03:49.WAV 已存在
沮丧的是,我尝试只使用 mv 命令,但给了我一个不同的错误:
mv:目标“20190710222433.WAV”不是目录
所以我添加了一个 / 并得到了同样的错误。有什么建议吗?
您可以使用该选项-f强制覆盖现有文件:
rename -f ...
Run Code Online (Sandbox Code Playgroud)
男人重命名:
-f, --force
Over write: allow existing files to be over-written.
Run Code Online (Sandbox Code Playgroud)