Duplikate finden und löschen

Hallo Ihr Wisser,

gibt es einen Befehl oder eine Utility, mit dem/der ich Duplikate finden und löschen kann?

Etwa so: wenn die gleiche Datei in Verzeichnis xxx1 (oder Unterverzeichnisse) und xxx2 (oder Unterverzeichnisse) existiert, soll sie in Verzeichnis xxx2 gelöscht werden.

Danke im Voraus

Felix

Hallo Felix,

freedup könnte evtl. was für dich sein: http://software.neuper.de/freedup
Hab’s aber selbst noch nicht ausprobiert.

Gruß
Tim

Hallo Felix,

gibt es einen Befehl oder eine Utility, mit dem/der ich
Duplikate finden und löschen kann?

Duplicate File Searcher
http://duplicatefilessearcher.net/

fslint
http://www.pixelbeat.org/fslint/

oder, wenn Du vor der Kommandozeile nicht zurückschreckst:
Swiss File Knife
http://stahlworks.com/dev/swiss-file-knife.html

Viele Grüße
Marvin

Hallo Tim,

freedup könnte evtl. was für dich sein:
http://software.neuper.de/freedup

Danke, aber das ist es nicht ganz - freedup setzt hardlinks an Stelle der Dateien.

Cheers, Felix

Hallo Marvin,

Duplicate File Searcher
http://duplicatefilessearcher.net/

fslint
http://www.pixelbeat.org/fslint/

oder, wenn Du vor der Kommandozeile nicht zurückschreckst:
Swiss File Knife
http://stahlworks.com/dev/swiss-file-knife.html

Danke, die sehe ich mir mal an - vor allem fslint sieht vielversprechend aus.

Cheers, Felix

gibt es einen Befehl oder eine Utility, mit dem/der ich
Duplikate finden und löschen kann?

Etwa so: wenn die gleiche Datei in Verzeichnis xxx1 (oder
Unterverzeichnisse) und xxx2 (oder Unterverzeichnisse)
existiert, soll sie in Verzeichnis xxx2 gelöscht werden.

So aus der kalten und abhaengig von Deiner Definition fuer „gleich“:

 $ tmpfile="`mktemp`"
 $ find xxx1 xxx2 -type f -print0 |xargs -0 md5sum \>"$tmpfile"
 $ sort "$tmpfile" |cut -c-32 |uniq -c |grep '^ \*[2-9]' |while read count hash; do grep "^$hash" "$tmpfile" |tail -n+2; done |while read hash file; do rm -f "$file"; done
 $ rm -f "$tmpfile"

Hm, mir faellt gerade auf, dass es auch doppelte Eintraege aus xxx1 selbst wegwirft. Naja, muesste man noch nachbessern, falls das ein Problem sein sollte.

Gruss vom Frank.

Hi,

fslint
http://www.pixelbeat.org/fslint/

nettes teil…

J~

Hallo Frank,

gibt es einen Befehl oder eine Utility, mit dem/der ich
Duplikate finden und löschen kann?

Etwa so: wenn die gleiche Datei in Verzeichnis xxx1 (oder
Unterverzeichnisse) und xxx2 (oder Unterverzeichnisse)
existiert, soll sie in Verzeichnis xxx2 gelöscht werden.

So aus der kalten und abhaengig von Deiner Definition fuer
„gleich“:

$ tmpfile="mktemp"
$ find xxx1 xxx2 -type f -print0 |xargs -0 md5sum
>"$tmpfile"
$ sort „$tmpfile“ |cut -c-32 |uniq -c |grep ‚^ *[2-9]‘ |while
read count hash; do grep „^$hash“ „$tmpfile“ |tail -n+2; done
|while read hash file; do rm -f „$file“; done
$ rm -f „$tmpfile“

Danke, das probiere ich! Wenn’s klappt brauche ich keine neuen Programme installieren, die ich dann sowieso vergesse.

Hm, mir faellt gerade auf, dass es auch doppelte Eintraege aus
xxx1 selbst wegwirft. Naja, muesste man noch nachbessern,
falls das ein Problem sein sollte.

Im Gegenteil sehr erwünscht!

Hintergrund: Ich habe hier etwa 180 GB an Backups, und meine externe Festplatte wächst nicht! Also möchte ich Dateien, die doppelt vorhanden sind, löschen. Bei etwa 100000 Dateien lieber automatisch.

Cheers, Felix

.