我正在尝试编写一个脚本,找到我所有的.jpg文件,并复制它们做一个新目录。它目前看起来像这样:
find ~/Pictures -iname \*.jpg -exec cp {} ...newDirectory \;
问题是我的一些旧文件与新文件的名称相同,当IMG _ ####重置为0001并重新开始计数时。
有没有办法找到.jpgs和副本而不覆盖文件?理想情况下,在此过程中为他们提供一个新名称。
修改
我最终了解了rsync,它以自己的方式完成了我正在寻找的东西。谢谢你的帮助!
答案 0 :(得分:1)
-n
使用cp
参数,表示:不要覆盖现有文件。
要防止相同的名称,您可以将所有名称命名为唯一名称。 例如:
$ touch screenshot.jpg
$ cp screenshot.jpg screenshot-$(date "+%s").jpg
所以基本上,将要复制的新文件大量重命名为相同的名称+日期。 这将使它们与已经存在的东西不同,旧的未命名或(如果你稍后重复)将有不同的日期。