Como encontrar candidatos de arquivos duplicados com base na semelhança de seus nomes?

0

Não estou procurando imagens ou fotos semelhantes (imagedupe) nem arquivos de áudio!

Eu tenho muitos dados de mídia aqui e quero identificar duplicatas com base no nome do arquivo. Eu sei que há fdupes, etc, mas isso não vai funcionar no meu caso aqui (por exemplo, reencoding dos mesmos dados). Eu posso imaginar que a similaridade de string é uma tarefa difícil , mas com base no fato de que as palavras "the, and of of" têm menos informações do que, por exemplo, "planta, pirata" Eu sei que tem que ser possível fazer essas coisas. Eu sei que não vou localizar todas as duplicatas com esse método, pois os números também podem ser escritos em palavras, nomes no CamelCase e, em 1337, também podem ser candidatos difíceis. Mas eu me pergunto se algo semelhante já foi concebido.

Minha primeira tentativa é esta:

  • primeiro extraia todas as palavras relevantes:

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

  • segundo filtra palavras como: "e, o, ..."

  • para cada palavra na lista restante, faça uma pesquisa como

    find . -iname $word -type f

por math 04.03.2012 / 21:55

1 resposta

2

glimpse e agrep vem à mente.

    
por 04.03.2012 / 23:40