【发布时间】:2023-03-11 13:53:01
【问题描述】:
我正在编写一个 bash 脚本,将图像从一个目录(及其所有子目录)复制到另一个目录。
到目前为止,我有这个:
find . -type f -regextype posix-extended -regex '^.*IMG_[0-9]{4}\.jpg' -exec cp {} ~/$output \;
这可行,但问题比这更复杂。有两种情况:
- 一些图像具有相同的名称,但不同。在这个 在这种情况下,只需将第二个“.JPG”添加到 他们名字的结尾。
- 但是,如果两个文件具有相同的名称并且是相同的文件, 只有一个应该复制到输出目录,并且绝对 另一个路径应写入文本文件 - duplicates.txt。
我在想我需要在文件名上使用 cmp 然后 md5sum 来检查相同的文件,但我不确定如何在文件名上使用 cmp,或者这是否可能。
提前感谢您的帮助!
【问题讨论】:
-
fdupes命令可能会做你想做的事。 -
cmp告诉你文件是否相同,它会逐字节比较。
标签: linux bash shell md5sum cmp