Re: Ordnung in Datensalat bringen
On Sun, Jul 04, 2004 at 03:06:18PM +0200, Klaus Becker wrote:
> On Sunday 04 July 2004 10:53, Joerg Rieger wrote:
> > find . -exec md5sum {} 2>/dev/null \; | sort | uniq -W 1 -D > double.txt
> >
> > Dauert bei 80 GB gaaanz schön lang.
>
> mit Sicherheit, aber da kann man nichts dran machen. Ich hab's mal
> ausprobiert: funktionniert, aber eine Frage: warum md5sum, und wenn md5sum
> schon notwendig ist, ist das Anzeigen der Ergebnisse von md5sum wirklich
> nützlich und kann man es nicht eventuell abstellen?
Nun, stell dir einfach mal die frage:
Wie stellt man am besten fest, ob eine oder mehrere Dateien gleich sind?
Jetzt könnte man natürlich spontan sagen: Ist doch klar, gleicher
Dateiname auch gleiche Datei.
Das geht aber nicht mit jeder Datei gut. Z.B.: gibts mit Sicherheit bei
vielen Source Code Dateien eine Datei names Makefile oder README's etc.
Ok, dann nächste Kriterium: Dateigrösse oder Dateidatum. Aber wenn man
kurz darüber nachdenkt, geht das u.U. ebenfalls in die Hose. Eine
gleichnamige Textdatei kann ja gleichgross sein, aber völlig
unterschiedlichen Inhalt haben.
Daher der Umweg über einen Hashwert. Anhand des Hashwertes wird
die Liste der Dateien sortiert und nur doppelte Hash Werte werden
letzendlich ausgegeben. Man könnte die Ausgabe dann nochmal bearbeiten
und den Hash wieder entfernen:
find . -exec md5sum {} 2>/dev/null \; | sort | uniq -W 1 -D | awk '{print $2}' - > double.txt
--
Reply to: