Eu uso fdupes para encontrar e excluir arquivos idênticos.
Mas eu quero ser capaz de dizer algo assim...
- encontre todos os arquivos duplicados no diretório A ou seus subdiretórios
- se houver um arquivo duplicado nos subdiretórios B e C, sempre exclua o arquivo em B
Em outras palavras, mantenha todos os arquivos em C que ainda não estejam em B. E observe que as estruturas de diretórios não são as mesmas, então rsync não é útil aqui.
Eu não acho que o fdupes oferece essa funcionalidade. Eu tenho que escolher manualmente qual excluir/manter para cada par.
Então eu estava pensando em escrever um script Python rápido para fazer a mesma coisa. Mas existe um comando de sistema rápido que eu possa chamar do Python que possa me fornecer algum tipo de ID exclusivo para cada arquivo que seja uma maneira confiável de ver se dois arquivos são idênticos. Estou pensando em algo que não envolve carregar os arquivos em python e fazer o hash de seu conteúdo.
Não, um hash é a única maneira rápida de saber se os arquivos multipule correspondem, mas você pode acelerá-lo apenas comparando arquivos do mesmo tamanho, também selecione um hash rápido como md5 se ninguém estiver tentando colisões ... feito para você com git/zfs/etc
Ou apenas