Come posso rimuovere i file duplicati attraverso alberi di directory separati?


10

Ho due directory: old/e new/. Alcuni dei file in old/sono duplicati di quelli in new/. Alcuni hanno semplicemente lo stesso nome e alcuni possono persino avere un contenuto identico ma nomi diversi. Non mi interessa il percorso della sottodirectory dei file, quindi nella corrispondenza deve essere considerato solo un nome file non qualificato.

Voglio rimuovere i file duplicati da old/, in modo che contenga solo file non presenti anche in new/. Per i casi in cui i nomi dei file corrispondono, ma non i contenuti, o viceversa, voglio che sia elencato in alcuni registri.

Qualcuno ha riscontrato un problema simile o ha una soluzione migliore dell'hacking di uno script (perl o simile) da zero? Un runtime dominato chiamando md5sumogni file è accettabile.

Risposte:


7

Ovviamente! Dai un'occhiata a FSlint :

FSlint è un'utilità per trovare e pulire varie forme di lanugine su un filesystem. IE cruft indesiderato o problematico nei tuoi file o nomi di file. Ad esempio, una forma di lanugine che trova sono i file duplicati. Ha entrambe le modalità GUI e riga di comando.

testo alternativo

FSlint è un software gratuito e open source.


Sembra abbastanza vicino per quello che voglio. Grazie!
P-Nuts,

8

fdupes : trova i file duplicati in un determinato set di directory

fdupes new/ old/

-d per l'eliminazione

-N per non chiedere

fdupes -N -d new/ old/

Questo non troverà (ed eliminerà) anche i duplicati all'interno di ogni directory? In altre parole, se nuovo (o vecchio) contiene file duplicati che possono essere trovati o meno all'interno di quelli vecchi, anche questi verranno eliminati? Non credo che fdupes sia rigorosamente un programma diverso, come suggerito dai tuoi argomenti "nuovo" e "vecchio".
Stephen Niedzielski,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.