Eu tenho dois diretórios: old/
e new/
. Alguns dos arquivos old/
são duplicados daqueles em new/
. Alguns meramente têm o mesmo nome, e alguns podem até ter conteúdo idêntico, mas nomes diferentes. Não estou interessado no caminho do subdiretório para os arquivos, portanto, apenas um nome de arquivo não qualificado precisa ser considerado na correspondência.
Quero remover os arquivos duplicados de old/
, para que eles contenham apenas arquivos não encontrados também em new/
. Nos casos em que os nomes de arquivos correspondem, mas não o conteúdo, ou vice-versa, desejo que isso seja listado em algum log.
Alguém já encontrou um problema semelhante ou tem uma solução melhor do que cortar um script (perl ou similar) do zero? Um tempo de execução dominado pela chamada md5sum
de cada arquivo é aceitável.
fdupes - localiza arquivos duplicados em um determinado conjunto de diretórios
-d para excluir
-N por não perguntar
fonte