MV,重命名如果存在

我需要将很多图像组合成一个目录。 许多这些图像具有相同的文件名称。

有没有一些安全的mv版本,如果目标文件名已经存在,会自动重命名文件,使pic1.jpeg成为像pic1_2.jpeg

我可以写我自己的python脚本,但必须有这样的事情,所以我可以这样做:

 find . -type f -name *.jpg -exec mvsafe '{}' /targetpath/ \; 

mv已经支持这个开箱即用(至less在Debian中):

 mv --backup=t <source_file> <dest_file> 

如mv(1)手册页所示:

 --backup[=CONTROL] make a backup of each existing destination file The backup suffix is `~', unless set with --suffix or SIM‐ PLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. 

在这种情况下–backup = t意味着编号的备份。