Forum: PC Hard- und Software Dateiinhalte Vergleichen


von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Nabend,

ich habe ein Problem, ich muss den Inhalt von 1000 Dateien miteinander 
vergleichen und zwar so das ich feststellen kann ob es welche gibt die 
gleich sind und wenn ja die jeweiligen Dateinamen ausgeben. Also jede 
der 1000 Dateien soll mit den jeweils den 999 Anderen verglichen werden 
(Optimierungen sind mir egal).

Kennt da wer ein Tool für, bin grade zu faul mir selber eins zu 
basteln...

Danke

von Peter (Gast)


Lesenswert?

suche einfach mal nach "doubletten finder" bei google.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Das ergäbe 1000 Fakultät. Das willst du nicht wirklich.

von Stefan Salewski (Gast)


Lesenswert?

>Das ergäbe 1000 Fakultät.

Quatsch!

Irgendwas in der Größenordnung (1000*1000)/2

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Peter schrieb:
> suche einfach mal nach "doubletten finder" bei google.

Sieht schonmal gut aus, werde ich machen.

Abdul K. schrieb:

> Das ergäbe 1000 Fakultät. Das willst du nicht wirklich.

Ich glaube nicht, Abdul. (SCNR)

Beispiel mit 5 Dateien (ohne Optimierung):

1 (2,3,4,5) -> 4 Vergleiche
2 (1,3,4,5) -> 4 Vergleiche
3 (1,2,4,5) -> 4 Vergleiche
4 (1,2,3,5) -> 4 Vergleiche
5 (1,2,3,4) -> 4 Vergleiche

sind zusammen 5*4 = 20 Vergleiche. => O : n*(n-1)

Beispiel mit Optimierung:

1 (2,3,4,5) -> 4 Vergleiche
2 (3,4,5)   -> 3 Vergleiche
3 (4,5)     -> 2 Vergleiche
4 (5)       -> 1 Vergleiche

Macht 10 Vergleiche. O : n*(n-1)/2

von Hc Z. (mizch)


Lesenswert?

Mach' eine MD5-Summe über jede und vergleiche nur die, bei denen das 
Ergebnis gleich ist.  Du wirst fast ausschließlich Treffer landen und 
jede Datei im Schnitt nur wenig mehr als einmal anfassen müssen (max. 
3mal bei Mehrfachtreffern).

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Hc Zimmerer schrieb:
> Mach' eine MD5-Summe über jede und vergleiche nur die, bei denen das
> Ergebnis gleich ist.  Du wirst fast ausschließlich Treffer landen und
> jede Datei nur 1 ... max. 2mal anfassen müssen.

Genau das wäre meine Idee gewesen, wenn es wirklich Übereinstimmungen 
gegeben hätte, hätte ich die auch per Hand verifizieren können. Aber ich 
war einfach zu faul bzw. hatte keine Lust jetzt noch was zu coden.

Aber dank Peter rödelt Anti-Twin schon bei 40%.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Tim T. schrieb:
>> Das ergäbe 1000 Fakultät. Das willst du nicht wirklich.
>
> Ich glaube nicht, Abdul. (SCNR)
>
> Beispiel mit 5 Dateien (ohne Optimierung):

> Macht 10 Vergleiche. O : n*(n-1)/2

OK, voll ins Fett getreten. Ich geh TV gucken.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Ok, Anti-Twin funktioniert genau so wie ich wollte.
Es wurden keine Übereinstimmungen gefunden; danach hab ich mal kurz eine 
Datei doppelt abgelegt um zu schauen ob es überhaupt funktioniert und 
siehe da, es tut wie es soll.

http://www.aidex.de/software/antitwin/ falls einer mit Google nicht 
weiterkommt.

Damit wäre das Problem gelöst, Danke.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Etwas einfacher wird die Angelegenheit, wenn von jeder Datei ein 
MD5-Hash erzeugt wird. Vergleichen muss man dann nur Dateien mit 
gleichem Hash-Wert.

von Peter (Gast)


Lesenswert?

@Rufus t. Firefly
schön das die Mod auch sich immer die Thread sich genau durchlesen ...

Hc Zimmerer schrieb:
> Mach' eine MD5-Summe über jede..

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Schön, daß das andere für einen tun. Und dann auch noch stolz verkünden. 
Brav.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> Vergleichen muss man dann nur Dateien mit gleichem Hash-Wert.

Ich hätt jetzt glatt die mit unterschiedlichen Hash-Wert verglichen ....

von Sascha (Gast)


Lesenswert?

$ find . -type f -exec md5sum {} \; > /tmp/md5list && \
for md5 in `cut -d\  -f1 /tmp/md5list | sort | uniq -d`; do \
cat /tmp/md5list | grep $md5; done; \
rm /tmp/md5list

Wird auch viel weniger umstaendlich moeglich sein...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.