重命名命令没有默认覆盖,如何强制覆盖?



我有一个使用重命名命令的 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*

根据重命名手册页,缺省情况下应覆盖该命令,而不是使用 -o 标志进行覆盖。但是当我运行脚本时,它不会覆盖现有文件。但是,我收到一个错误,并且重复的文件没有通过脚本完成任何其他处理。

重命名文件

20190710220231.WAV未重命名:日期-2019-07-10__Time-22:02:31.WAV已存在 20190710220300.WAV未重命名:日期-2019-07-10__Time-22:03:00.WAV已存在 20190710220338.WAV未重命名:日期-2019-07-10__Time-22:03:38.WAV已存在 20190710220349.WAV未重命名:日期-2019-07-10__Time-22:03:49.WAV已存在

沮丧,我尝试只使用 mv 命令,但给了我一个不同的错误:

MV:目标"20190710222433.WAV"不是目录

所以我添加了一个/并得到同样的错误。有什么建议吗?

您可以使用选项-f强制覆盖写入现有文件:

rename -f ...

人改名:

-f, --force
Over write: allow existing files to be over-written.

最新更新