Forum: PC Hard- und Software gleiche Zeichenfolgen in 2 txt Dateien finden


von Cartman (Gast)


Lesenswert?

Hallo

Wie bzw. mit welchem Tool kann ich in 2 Textdateien identische 
Zeichenfolgen mit beispielsweise minimum 10 Stellen suchen?

von Max B. (theeye)


Lesenswert?

Verrate uns mal dein Betriebssystem!

Gruß Max

von Cartman (Gast)


Lesenswert?

W7 64bit

es gibt zwar haufenweise tools um unterschiede von txt Dateien 
anzuzeigen, aber anscheinend keines um gleichheiten anzuzeigen...

von Chris (Gast)


Lesenswert?

Wirf mal einen Blick auf UltraCompare. Vielleicht hilft dir das weiter.
http://www.ultraedit.com/products/ultracompare.html

von gerd (Gast)


Lesenswert?

Hallo Cartman,
hab so ein Tool mal eben in Java geschrieben.
Download-Link (incl. Source): http://sebulli.com/download/gZi2tDf.zip

Aufruf mit:
java -jar gZi2tDf.jar 20 t1.txt t2.txt

Die 20 ist die Länge, die mindestens übereinstimmen muss, dann folgen 
die beiden Textdateien.

Gruß Gerd

von kopfkratzer (Gast)


Lesenswert?

Mit win64 hast Du auf der Kommandozeile die "Powershell" daher kannst Du 
einfach wie unter Un*x mit grep arbeiten.

von ennen (Gast)


Lesenswert?

Kdiff

von Micha (Gast)


Lesenswert?

Wenn du die Zeichenfolge kennst mit Notepad++ (Portable). Beide Dateien 
öffnen, Strg+F, Find in all opened documents.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Wäre mal eine schöne Übung für reguläre Ausdrücke.
Kannst du mal 2 solcher Dateien zur Verfügung stellen ?

Ich versuche dann mal mit XProfan64 was zu basteln.

von Salewski (Gast)


Lesenswert?

Heinz Brill schrieb:
> Wäre mal eine schöne Übung

Das geht ja wohl so in die Richtung Plagiatssuche, ist natürlich sehr 
rechenaufwendig. Jedenfall im allgemeinen Fall, wenn man alles mit allem 
vergleichen will und nicht nur gleiche, sondern auch ähnliche 
Zeichenfolgen finden will.

Mit "find identical content" liefert Google ja einiges dazu.

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Schwierig wirds erst, wenn man außer Zahlen und Buchstaben
noch sonstige Sonderzeichen suchen muß oder gar die
Metazeichen erst maskieren muß.

sowas geht mit XProfan und reg. Ausdrücke problemlos und
ohne viel Nachdenken :
hier 'aufgaben test' rausfiltern :

Print Match$("auf..ben.....", "Hausaufgaben test"), %MatchPos, %MatchLen

Die punkte stehen für je ein Zeichen. Und die Systemvariablen
%MatchPos + %MatchLen geben die gefunden Position und Länge des
gefunden Strings an.

Hab da schon HTML-Tags rausgefiltert oder auch Uhrzeiten in
Form von [19:50] usw. Ist interessant, sowas rauszufiltern,
das es viel mächtiger ist, als in Basic Mid$(), Right$(), Left$()
oder InStr$() o. ä.

von Jonas K. (jonas_k)


Lesenswert?

also am besten würde sowas schon mit regulären Ausdrücken gehen, z. B. 
in ner Skriptsprache wie Perl.
ein eigenes Perl Skript, das dann wirklich genau das macht was du 
willst, wär da optimal.

Wenn du C kannst, ist Perl auch nicht schwer ;)

von Salewski (Gast)


Lesenswert?

Heinz Brill schrieb:
> Schwierig wirds erst,

Schwierig nicht.

Aber wie Yalu schon anmerkte, er will wohl nicht einfach nach einer 
bestimmten Zeichenfolge suchen, das wäre ja trivial. Eher so nach dem 
Motto: Resultat: Datei 1 enthält die Ziffernfolge 3.1415 an Position 
123456 und Datei 2 enthält die gleich Folge an Position 654321. Gut, 
wenn das nur auf Ziffernfolgen beschränkt ist, ist der Aufwand noch 
nicht so groß. Aber eventuell sollen gleiche Namen, gleiche Fremdwörter 
usw. gemeldet werden?

von MN (Gast)


Lesenswert?

du suchst die kreuzkorrelation der beiden dateien

von Salewski, Stefan (Gast)


Lesenswert?

MN schrieb:
> du suchst die kreuzkorrelation der beiden dateien

Ich nicht, und er wohl auch nicht, da die Position der Suchzeichenfolgen 
ja in jeder Datei beliebug sein kann.

Im Prinzip könnte man ja alle trivialen Wörter wie "und" ignorieren, die 
übrigen Wörter jeder Datei in einen Hash-Index einfügen und dann die 
beiden Hashes vergleichen. Wenn es denn um Wörter geht, und nicht auch 
noch um Buchstabengruppen in Worten. Jetzt aber genug gerätselt.

von Paul M. (paul_m65)


Lesenswert?

Max B. schrieb:
> Verrate uns mal dein Betriebssystem!

Was hat das mit dem Betriebssystem zu tun?
grep und ähnliches gibt es sogar für Windows.

von c.m. (Gast)


Lesenswert?

Paul M. schrieb:
> Max B. schrieb:
>> Verrate uns mal dein Betriebssystem!
>
> Was hat das mit dem Betriebssystem zu tun?
> grep und ähnliches gibt es sogar für Windows.

wenn das so klar ist, warum fragt ein windows-user dann immer solche 
fragen?

von Cartman (Gast)


Lesenswert?

gerd schrieb:
> Hallo Cartman,
> hab so ein Tool mal eben in Java geschrieben.
> Download-Link (incl. Source): http://sebulli.com/download/gZi2tDf.zip
>
> Aufruf mit:
> java -jar gZi2tDf.jar 20 t1.txt t2.txt
>
> Die 20 ist die Länge, die mindestens übereinstimmen muss, dann folgen
> die beiden Textdateien.
>
> Gruß Gerd


Hallo Gerd,

Danke, nach genau sowas hab ich gesucht.
Nur, bei herkömmlichen Textdateien klapt es wunderbar, bei Unicode 
leider nicht.

Bei den Dateien die ich vergleichen möchte, handelt es sich um 
verschlüsselte Projektdateien, die eben in Unicode vorliegen.

von c.m. (Gast)


Lesenswert?

wie muss man sich eine verschlüsselte datei, also idealerweise zufällig 
aussehende bytes, in unicode vorstellen?

von Reinhard Kern (Gast)


Lesenswert?

Cartman schrieb:
> Bei den Dateien die ich vergleichen möchte, handelt es sich um
> verschlüsselte Projektdateien, die eben in Unicode vorliegen.

Logisch klappt das nicht: eine der Grundlagen für eine sinnvolle 
Verschlüsselung ist, dass gleicher Text nicht zum gleichen Code wird, 
sonst wäre die Entschlüsselung ziemlich einfach.

Anders gesagt, bei verschlüsselten Dateien ergibt eine Vergleichsmethode 
nur Zufallsfunde, die eben nicht auf gleichen Text hinweisen. Oder 
wolltest du sagen, du entschlüsselst zuerst beide Dateien??

Gruss Reinhard

von Torsten B. (Gast)


Lesenswert?

@ gerd: sehr hilfreiches Programm!!!!!!!

von gerd (Gast)


Lesenswert?

danke.

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.