Diferença difusa por n arquivos

0

Eu quero saber a diferença individual entre n arquivos, semelhante a isto:

parallel --tag 'diff {1} {2} | wc -l' ::: * ::: *

Um grande problema aqui é os arquivos binários, e uma única linha megalong contará o mesmo que uma linha curta.

Como eu gero um diff difuso sobre n arquivos?

    
por Ole Tange 21.01.2018 / 02:35

1 resposta

1

Use ssdeep para gerar um arquivo de hash:

ssdeep 'find .  -type f' > hash

Isso dará aos pares 90% de < = similaridade < 100%:

ssdeep -m hash 'find .  -type f' | grep -E '9[0-9].$'

Isso só funciona se longos trechos (blocos com cerca de 1% do tamanho do arquivo) forem os mesmos.

    
por 21.01.2018 / 02:35

Tags