如何根据名称的相似性找到文件重复的候选文件?

如何根据名称的相似性找到文件重复的候选文件?

我没有搜索类似的图像或照片(imagedupe)或音频文件!

我这里有很多媒体数据,我想根据文件名找出重复项。我知道有 fdupes 等,但这对我这里的情况不起作用(例如对相同数据进行重新编码)。我可以想象字符串相似性是一个艰巨的任务,但基于“the、and、of”等单词所含信息量都比“plant、pirate”等单词少的事实,我知道这样做是可能的。我知道用这种方法无法发现所有重复项,因为数字也可以写成单词,CamelCase 和 1337 中的名称也可能是难以识别的候选者。但我想知道是否已经构思了类似的东西。

我的第一次尝试是这样的:

  • 首先提取所有相关词:

    find . -type f -exec basename {} \; | sort | tr "\n" " " | sed 's/[\._\-]/ /g' | tr " " "\n" | sort | uniq -c

  • 第二步过滤掉像“and, the,...”这样的词

  • 对于剩余列表中的每个单词,进行如下查找

    find . -iname $word -type f

答案1

glimpseagrep浮现在脑海中。

相关内容