gleiche Zeichenfolgen in 2 txt Dateien finden

Gast #3504198
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.
(Firma: Privat) #3504250
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. ä.
Gast #3504362
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?
Gast #3504415
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.
Gast #3504477
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.
Gast #3504867
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren