Discussion:
Doppelte Dateien finden
(zu alt für eine Antwort)
Richard Fonfara
2016-06-23 15:45:16 UTC
Permalink
Hallo,

ich habe möglicherweise eine Reihe von Geschäftsdaten in 2 oder mehr
Verzeichnissen abgespeichert. Diese Dubletten würde ich gerne aufspüren
und löschen. Startpage lieferte mir außer Treffern von Dateien, die in
den Repositories von Arch Linux nicht vorhanden sind oder die nicht mehr
existieren, unter

https://www.deimeke.net/dirk/blog/index.php?/archives/3115-Doppelte-Dateien-suchen-....html

das Programm fdupes. Der in dem Blog erwähnte Parameter -L existiert
offenbar nicht (mehr), denn in der Manpage wurde er nicht erwähnt. Ob
der im Blog und in der Manpage angegebene Vergleich anhand von
MD5-Summen tatsächlich stattfindet, wage ich auch zu bezweifeln. Die
Suche war nämlich nach gefühlt 2 Sekunden beendet und es wurden 2
Dateien als Dubletten angegeben, die unterschiedliche Inhalte hatten.
Ich werde deshalb anhand meines Backups nachprüfen, ob ich nicht
Dubletten gelöscht habe, die keine waren.

Kennt jemand ein zuverlässigeres Programm als fdupes?
--
Freundliche Grüße

Richard
Richard Fonfara
2016-06-23 16:36:15 UTC
Permalink
Post by Richard Fonfara
Hallo,
ich habe möglicherweise eine Reihe von Geschäftsdaten in 2 oder mehr
Verzeichnissen abgespeichert. Diese Dubletten würde ich gerne aufspüren
und löschen. Startpage lieferte mir außer Treffern von Dateien, die in
den Repositories von Arch Linux nicht vorhanden sind oder die nicht mehr
existieren, unter
https://www.deimeke.net/dirk/blog/index.php?/archives/3115-Doppelte-Dateien-suchen-....html
das Programm fdupes. Der in dem Blog erwähnte Parameter -L existiert
offenbar nicht (mehr), denn in der Manpage wurde er nicht erwähnt. Ob
der im Blog und in der Manpage angegebene Vergleich anhand von
MD5-Summen tatsächlich stattfindet, wage ich auch zu bezweifeln. Die
Suche war nämlich nach gefühlt 2 Sekunden beendet und es wurden 2
Dateien als Dubletten angegeben, die unterschiedliche Inhalte hatten.
Ich werde deshalb anhand meines Backups nachprüfen, ob ich nicht
Dubletten gelöscht habe, die keine waren.
Kennt jemand ein zuverlässigeres Programm als fdupes?
Eine erneute Überprüfung anhand meines Backups ergab, das PEBKAC vorlag.
Ich hatte eine falsche Datei beim Vergleich erwischt. Was ein einziges
im Dateinamen abweichendes Zeichen nicht alles ausmacht ... ;-)
--
Freundliche Grüße

Richard
Manfred Gil
2016-06-23 16:56:13 UTC
Permalink
Post by Richard Fonfara
Kennt jemand ein zuverlässigeres Programm als fdupes?
Schau dir mal FSlint an.

Gruß
Manfred





--
Richard Fonfara
2016-06-23 18:05:23 UTC
Permalink
Post by Manfred Gil
Post by Richard Fonfara
Kennt jemand ein zuverlässigeres Programm als fdupes?
Schau dir mal FSlint an.
Gibts in den Arch-Linux-Repos nicht.
--
Freundliche Grüße

Richard
Frank Haun
2016-06-23 18:25:00 UTC
Permalink
Post by Richard Fonfara
Post by Manfred Gil
Post by Richard Fonfara
Kennt jemand ein zuverlässigeres Programm als fdupes?
Schau dir mal FSlint an.
Gibts in den Arch-Linux-Repos nicht.
Ist in AUR drin.

aur/fslint 2.44-2 (246) (4,34)
A utility to find and clean various forms of lint on a filesystem

Frank
--
Powered by "Arch Linux ARM", 4.4.13-2-ARCH GNU/Linux
Richard Fonfara
2016-06-23 19:07:36 UTC
Permalink
Post by Frank Haun
Post by Richard Fonfara
Post by Manfred Gil
Post by Richard Fonfara
Kennt jemand ein zuverlässigeres Programm als fdupes?
Schau dir mal FSlint an.
Gibts in den Arch-Linux-Repos nicht.
Ist in AUR drin.
aur/fslint 2.44-2 (246) (4,34)
A utility to find and clean various forms of lint on a filesystem
Frank
Stimmt. Ich hab an der falschen Stelle gesucht:

https://www.archlinux.org/packages/
--
Freundliche Grüße

Richard
Stefan Reuther
2016-06-23 16:47:46 UTC
Permalink
Post by Richard Fonfara
das Programm fdupes. Der in dem Blog erwähnte Parameter -L existiert
offenbar nicht (mehr), denn in der Manpage wurde er nicht erwähnt. Ob
der im Blog und in der Manpage angegebene Vergleich anhand von
MD5-Summen tatsächlich stattfindet, wage ich auch zu bezweifeln. Die
Suche war nämlich nach gefühlt 2 Sekunden beendet und es wurden 2
Dateien als Dubletten angegeben, die unterschiedliche Inhalte hatten.
Ich werde deshalb anhand meines Backups nachprüfen, ob ich nicht
Dubletten gelöscht habe, die keine waren.
Kennt jemand ein zuverlässigeres Programm als fdupes?
Wer sich nicht vor Shell fürchtet und genug Zeit hat, baut sich das in
wenigen Sekunden selbst.

# Liste von Dateien und md5's erstellen
find -type f | xargs md5sum | sort > /tmp/liste

# Dubletten suchen
uniq -dcw32 < /tmp/liste

Das liefert eine Ausgabe wie

3 d41d8cd98f00b204e9800998ecf8427e ./.config/mc/panels.ini

"Es gibt drei Dateien mit md5 d41d8cd98f00b204e9800998ecf8427e, eine
davon ist panels.ini."

Was das schlechter macht als ein separates Programm dafür?
- die anderen Dubletten einer Gruppe muss man händisch in der Liste
suchen
- berechnet zu allen Dateien die md5's, auch wenn diese schon vorher
als Dubletten ausgeschlossen werden könnten (z.B. weil es keine andere
Datei gibt, die genauso groß ist).

Was das besser macht? Überall verfügbar, wo es GNU Tools gibt ('-w' ist
eine GNU-Erweiterung).


Stefan
Richard Fonfara
2016-06-23 18:21:29 UTC
Permalink
Post by Stefan Reuther
Post by Richard Fonfara
das Programm fdupes. Der in dem Blog erwähnte Parameter -L existiert
offenbar nicht (mehr), denn in der Manpage wurde er nicht erwähnt. Ob
der im Blog und in der Manpage angegebene Vergleich anhand von
MD5-Summen tatsächlich stattfindet, wage ich auch zu bezweifeln. Die
Suche war nämlich nach gefühlt 2 Sekunden beendet und es wurden 2
Dateien als Dubletten angegeben, die unterschiedliche Inhalte hatten.
Ich werde deshalb anhand meines Backups nachprüfen, ob ich nicht
Dubletten gelöscht habe, die keine waren.
Kennt jemand ein zuverlässigeres Programm als fdupes?
Wer sich nicht vor Shell fürchtet und genug Zeit hat, baut sich das in
wenigen Sekunden selbst.
# Liste von Dateien und md5's erstellen
find -type f | xargs md5sum | sort > /tmp/liste
# Dubletten suchen
uniq -dcw32 < /tmp/liste
Das liefert eine Ausgabe wie
3 d41d8cd98f00b204e9800998ecf8427e ./.config/mc/panels.ini
"Es gibt drei Dateien mit md5 d41d8cd98f00b204e9800998ecf8427e, eine
davon ist panels.ini."
/tmp/liste wurde bei mir extrem lang. Ich habe sie mir zum Großteil
angesehen; Dubletten waren da keine.

Wenn ein Dateiname Leerzeichen hat, wird jedes Wort als extra Datei
betrachtet. Aber das ließe sich sicher beheben.

Bis jetzt gefällt mir fdupes allerdings besser. Ich knöpfe mir jetzt den
nächsten Verzeichnisbaum vor.
[...]
--
Freundliche Grüße

Richard
Stefan Reuther
2016-06-24 06:25:27 UTC
Permalink
Post by Richard Fonfara
Post by Stefan Reuther
Wer sich nicht vor Shell fürchtet und genug Zeit hat, baut sich das in
wenigen Sekunden selbst.
# Liste von Dateien und md5's erstellen
find -type f | xargs md5sum | sort > /tmp/liste
# Dubletten suchen
uniq -dcw32 < /tmp/liste
Das liefert eine Ausgabe wie
3 d41d8cd98f00b204e9800998ecf8427e ./.config/mc/panels.ini
"Es gibt drei Dateien mit md5 d41d8cd98f00b204e9800998ecf8427e, eine
davon ist panels.ini."
/tmp/liste wurde bei mir extrem lang.
Da stehen dann alle Dateinamen drin, ja.
Post by Richard Fonfara
Ich habe sie mir zum Großteil
angesehen; Dubletten waren da keine.
Wenn ein Dateiname Leerzeichen hat, wird jedes Wort als extra Datei
betrachtet. Aber das ließe sich sicher beheben.
Ja gut, dann halt je nach Toolchain 'find -type f -print0 | xargs -0'
oder 'find -type f -exec md5sum {} +'.
Post by Richard Fonfara
Bis jetzt gefällt mir fdupes allerdings besser. Ich knöpfe mir jetzt den
nächsten Verzeichnisbaum vor.
Natürlich; wenn man ein Programm hat, was speziell für diesen
Anwendungsfall ist, ist das natürlich besser. Aber wenn man das nicht
hat, ist selbst bauen eben recht simpel.


Stefan
Richard Fonfara
2016-06-24 09:07:41 UTC
Permalink
Ich danke allen für ihre Hilfe. Jetzt habe ich einige Programme zum
Ausprobieren.
--
Freundliche Grüße

Richard
Martin Vaeth
2016-06-24 13:11:06 UTC
Permalink
Post by Stefan Reuther
Was das schlechter macht als ein separates Programm dafür?
- berechnet zu allen Dateien die md5's, auch wenn diese schon vorher
als Dubletten ausgeschlossen werden könnten
Vor allem auch dann, wenn die Unterschiede schon nach den ersten
paar Bytes zutage treten. Ein Perl-Script, das mit den Daten selbst
(ohne Checksummen) arbeitet, ist "find_double" aus

https://github.com/vaeth/mv_perl/

Zum Arbeiten mit Checksummen gibt es in dieser Script-Sammlung auch
"patchdirs", das aber eigentlich einen anderen Zweck hat.

Bernd Mayer
2016-06-23 18:47:28 UTC
Permalink
Post by Richard Fonfara
ich habe möglicherweise eine Reihe von Geschäftsdaten in 2 oder mehr
Verzeichnissen abgespeichert. Diese Dubletten würde ich gerne aufspüren
und löschen.
Kennt jemand ein zuverlässigeres Programm als fdupes?
Hallo,

fdupes funktioniert hier seit Jahren zuverlässig!

Zum vorsichtigen Start verwende ich:
fdupes ./ -r -S >/tmp/duplikate.txt.

In der Datei duplikate.txt sind dann anch kurzer Zeit die doppelt
vorhanden Dateien aufgelistet und können von Hand gelöscht werden.


Bernd Mayer
Ulli Horlacher
2016-06-23 22:58:27 UTC
Permalink
Post by Richard Fonfara
Kennt jemand ein zuverlässigeres Programm als fdupes?
http://fex.belwue.de/fstools/#findsame
--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum IZUS/TIK
Universitaet Stuttgart E-Mail: ***@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/
Lesen Sie weiter auf narkive:
Loading...