mikrocontroller.net

Forum: PC Hard- und Software Dateiinhalte Vergleichen


Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
suche einfach mal nach "doubletten finder" bei google.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

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

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ergäbe 1000 Fakultät.

Quatsch!

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

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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%.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

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

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Vergleichen muss man dann nur Dateien mit gleichem Hash-Wert.

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

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.