Linha de comando / aplicativo do Linux para comparar conjuntos de pastas entre si

1

Eu tenho muitas fotos organizadas em pastas. Eu também tenho uma pasta "Não categorizada" para fotos antes de serem organizadas. Descobri que muitas (mas não todas) fotos em Uncategorised agora foram organizadas, mas não removidas de Uncategorized.

Eu gostaria, via linha de comando ou de outra forma, para encontrar todos os arquivos em Uncategorised que são duplicados dentro de outras pastas (para que eu saiba quais são seguros para excluir). Idealmente, a solução usará o MD5 (ou similar) para garantir a duplicação real. No entanto, o nome do arquivo é apenas um bom começo.

Alguém pode fornecer alguma sugestão de como fazer isso na linha de comando? Ou, alternativamente, sugerir algum software que possa ajudar?

Obrigado!

Dave
fonte
Linux oferece md5sum ou variedade de opções sha1sum, sha256,384, sha512sum. Você precisa de ajuda para usar os comandos?
cybernard

Respostas:

2

Você pode usar:

find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate

(substitua md5sum por sha512sum para evitar colisões)

ou uma ferramenta "lint" como fslint, fdupes

gj13
fonte