Como posso encontrar uma cópia duplicada de um arquivo de imagem?

3

Eu tenho um arquivo de imagem e sei que há outra cópia dele em algum lugar em um diretório ou em um de seus ancestrais, mas ele tem um nome de arquivo diferente e desconhecido, e há milhares de imagens nesse diretório.

Como posso encontrar o nome do arquivo da imagem que é o mesmo que eu conheço?

    
por Trevor Dixon 28.03.2013 / 19:58

2 respostas

5

Primeiro, encontre todos os arquivos com o mesmo tamanho de arquivo e faça uma comparação binária.

s=$(stat -c "%s" $file)    #File size in bytes
for i in $(find $dir -size "${s}c"); do    #by default, find expects sizes in blocks
  if cmp "$i" "$file"; then
    echo "$file and $i identical"
  fi
done
    
por 28.03.2013 / 20:19
3

Use bgrep . Abra a imagem conhecida em um editor hexadecimal e copie um trecho arbitrário no meio. Suponha que o pedaço seja "21310441125161320581C113F071B122". Em seguida, use o bgrep para procurar no diretório esse pedaço:

bgrep 21310441125161320581C113F071B122 images_directory

    
por 28.03.2013 / 19:58

Tags