我想在一系列文件夹中找到并删除图片。问题是图像名称不一定相同。
我所做的是从图像字节码中复制任意字符串并像
一样使用它grep -ir 'YA'uu�KU���^H2�Q�W^YSp��.�^H^\^Q��P^T' .
但是,由于有数千张图像,这种方法永远存在。此外,一些图像是由原始的imagemagic创建的,因此不能使用大小来查找它们。
所以我想知道最有效的方法是什么?
答案 0 :(得分:2)
更新了答案
如果您想要比较特定文件的校验和,则可以校验所有子目录中的所有文件,并找到相同的文件:
find . -name \*.jpg -exec bash -c 's=$(md5 < {}); echo $s {}' \; | grep "94b48ea6e8ca3df05b9b66c0208d5184"
或者这也适用于你:
find . -name \*.jpg -exec md5 {} \; | grep "94b48ea6e8ca3df05b9b66c0208d5184"
原始答案
最简单的方法是为每个文件生成一次md5校验和。根据{{1}}程序的工作方式,您可以执行以下操作:
md5
或许你可以使用
find . -name \*.jpg -exec bash -c 's=$(md5 < {}); echo $s {}' \;
94b48ea6e8ca3df05b9b66c0208d5184 ./a.jpg
f0361a81cfbe9e4194090b2f46db5dad ./b.jpg
c7e4f278095f40a5705739da65532739 ./c.jpg
现在您可以使用md5 -r *.jpg
94b48ea6e8ca3df05b9b66c0208d5184 a.jpg
f0361a81cfbe9e4194090b2f46db5dad b.jpg
c7e4f278095f40a5705739da65532739 c.jpg
查找所有重复项。