寻找支持识别缩放版本重复图片且带交互式删除提示的类fdupes命令行工具
寻找支持识别缩放版本重复图片且带交互式删除提示的类fdupes命令行工具
我完全懂你的痛点——之前用fdupes --delete交互式删重复图太顺手了,但碰到备份自动生成的缩略图就抓瞎,findimagedupes又没法让你手动选删哪个,还乱标连拍的照片是重复,确实闹心。
给你推荐两个靠谱的解决方案,完美匹配你的需求:
1. 首选:dupeGuru CLI(命令行版)
这绝对是最贴合你需求的工具:
- 它专门针对图像内容做了识别优化,能精准揪出缩放、甚至轻微裁剪的重复图,不像fdupes只认文件哈希;
- 自带交互式重复项处理功能,和
fdupes --delete的体验几乎一样:会把每组重复图清晰列出来,让你手动选择要保留哪张、删除哪些,完全符合你“怕误删要手动确认”的要求; - 可以自由调整相似度阈值,完美解决findimagedupes误判连拍照片的问题。比如你可以把阈值设高一点(比如95%),只有高度相似的图(比如原片和缩略图)才会被判定为重复,连拍的那种相似但不同的照片就会被过滤掉。
举个简单的使用命令:
dupeguru_cli --scan-type picture --similarity 95 /path/to/your/photos
这里的--similarity 95就是设置95%的相似度阈值,你可以根据自己的照片库情况微调,数值越高判定越严格。
2. 应急方案:findimagedupes + 自定义脚本
如果你不想装新工具,只想用已经有的findimagedupes,可以配合一个简单的bash脚本实现交互式删除:
- 先通过
findimagedupes的阈值参数过滤掉连拍的相似图,输出准确的重复组:
findimagedupes -t 0.9 /path/to/your/photos
这里的-t 0.9代表只识别相似度90%以上的重复图,数值越接近1越严格,能有效排除连拍照片。
- 然后写个简单的循环脚本,把
findimagedupes输出的每组重复图逐组列出来,提示你选择要删除的文件序号,执行删除操作。这个方案需要你写几行基础的bash代码,胜在不用额外装工具,适合不想折腾新软件的情况。
重要提醒
不管用哪个方案,一定要先给照片库做个备份再操作!毕竟涉及文件删除,哪怕工具再靠谱,留个后手总没错。
备注:内容来源于stack exchange,提问作者Timotheos




