Quando executo, fdupes
ele encontra mais de 30.000 arquivos duplicados. Eu preciso manter um arquivo e excluir todas as outras duplicatas (porque algumas delas são arquivos de sistema). Por favor, me dê um comando ou script para fazer isso sem pressionar "1 ou 2 ou todos" para cada grupo de arquivos duplicados.
duplicate-files
user84055
fonte
fonte
for f in $(fdupes -f .); do gvfs-trash $f; done
fdupes -f . | xargs -rd '\n' -- gvfs-trash
se você tiver nomes de arquivos com espaços e caracteres especiais ou muitos arquivos.fdupes
não oferece uma opção para registros terminados em nulo, portanto não há opção melhor. Definitivamente, é muito melhor dofor f in $(fdupes ...)
que isso. : -]fdupes
tem uma CLI rica:Em seguida, excluir as duplicatas era tão fácil quanto verificar
dupes.txt
e excluir os diretórios incorretos.fdupes
também pode solicitar que você exclua as duplicatas à medida que avança.A saída do comando entra
duplicate.txt
.fdupes
irá comparar o tamanho e o hash MD5 dos arquivos para encontrar duplicatas.Verifique a página de
fdupes
manual para obter informações detalhadas de uso.fonte
Eu usaria desta maneira mais segura:
Crie um script e mova os arquivos duplicados para uma nova pasta. Se você mudar para uma pasta fora da pasta original, o fdupes não reportará os arquivos duplicados em uma segunda varredura e será mais seguro excluí-los.
fonte
Eu tenho usado fslint e DupeGuru por algum tempo.
Ambos podem lidar com> 10000 arquivos / pastas
fonte