我需要将大量图像组合到一个目录中.其中许多图像具有相同的文件名.
是否有一些安全版本的mv会自动重命名文件,如果目标文件名已经存在,以便pic1.jpeg变成像pic1_2.jpeg?
我可以编写自己的python脚本,但必须有类似的东西,所以我可以这样做:
find . -type f -name *.jpg -exec mvsafe '{}' /targetpath/ \;
解决方法
mv已经支持这个开箱即用(至少在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表示“make numbers backups”,请调用如下:
env VERSION_CONTROL =编号为mv –backup = t< source_file> < dest_file>
(dest_file当然可以是一个目录).