Hallo,
ich suche ein Programm/Tool oder sonstige Lösung für eine Ähnlichkeitssuche in Textdateien.
Habe schon hunderte Suchergebnisse und Webseiten durchgesehen und Beschreibungen von allen
möglichen Diff-/Merge-Tools durchgelesen, aber ich finde einfach nichts passendes :-(
Folgendes Problem:
Ich habe mehrere Textdateien, die ich miteinander vergleichen möchte. In diesen Textdateien
sind viele Sätze bzw. Zeilen, die einen ähnlichen - aber nicht identischen - Inhalt haben.
Beispiel:
DATEI 1.txt
shell:Common AppData hidden C:\ProgramData
shell:Common Desktop C:\Users\Public\Desktop
shell:Common Documents C:\Users\Public\Documents
shell:CommonDownloads C:\Users\Public\Downloads
shell:CommonMusic C:\Users\Public\Music
shell:CommonPictures C:\Users\Public\Pictures
shell:Common Programs hidden C:\ProgramData\Microsoft\Windows\Start Menu\Programs
shell:CommonRingtones hidden C:\ProgramData\Microsoft\Windows\Ringtones
shell:Common Start Menu hidden C:\ProgramData\Microsoft\Windows\Start Menu
shell:Common Startup hidden C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
shell:Common Templates hidden C:\ProgramData\Microsoft\Windows\Templates
shell:CommonVideo C:\Users\Public\Videos
DATEI 2.txt
shell:Common Documents
shell:Common Desktop
shell:CommonMusic
shell:Common Startup
shell:CommonDownloads
shell:Common Start Menu
shell:CommonPictures
shell:Common Programs
shell:CommonVideo
shell:Common AppData
Wie ihr erkennen könnt:
a) sind die Einträge von Datei 2 auch alle in Datei 1, allerdings fehlt in Datei 2 die Beschreibung
b) sind in Datei 1 einige Einträge, die in Datei 2 nicht vorhanden sind
c) sind die Einträge in Datei 2 nicht in derselben Reihenfolge wie in Datei 1
GESUCHT:
Ich suche ein Tool etc., dass
- 2 (Text-)Dateien vergleicht
- alle Zeilen der einen Datei mit allen Zeilen der anderen Datei abgleicht und dabei einen
"Ähnlichkeitsvergleich" durchführt, d.h. dass z.B. der Eintrag "shell:Common Documents"
aus Datei 2 genommen wird und in allen Zeilen der Datei 1 gesucht wird, ob dieser Eintrag
dort in irgendeiner Zeile enthalten ist.
- Wenn also ein Eintrag aus Datei 2 in irgendeiner Zeile der Datei 1 enthalten ist, dann
sollen diese beiden Zeilen
a) markiert werden und z.B. entweder mit einer Line verbunden werden oder mit einer Zahl
gekennzeichnet werden (falls möglich)
b) die Möglichkeit bestehen, dass man einen der beiden Einträge (also den aus Datei 1 oder
den aus Datei 2) löschen kann
c) Am Wichtigsten: die Möglichkeit, dass man manuell oder automatisch einen der
Einträge (den kurzen aus Datei 2 oder den langen aus Datei 1) in eine neue Textdatei
schreiben lassen kann.
Wichtig wäre dabei noch, dass man die "Ähnlichkeitssuche" noch näher eingrenzen kann, wie z.B.
- Suchtext beginnt erst ab Spalte X in´Datei 1 / Spalte Y in Datei 2
- Vergleiche nur eine Anzahl von 10 Zeichen ab Spalte X / vom Anfang / vom Ende der Zeile
- Vergleiche komplette Zeile(n) aus Datei X mit allen Zeilen der Datei Y
- Beginne mit der Vergleichssuche erst ab Zeile Z und höre XX Zeilen vor dem Ende der Datei mit
der Suche auf
- Ignoriere Leerzeichen vor/nach/innerhalb Suchtext bzw. Suchzeilen
Vielleicht kann mir ja hier jemand helfen und kennt ein entsprechendes Programm/Tool. Ich kann
mir irgendwie nicht vorstellen, dass es sowas wirklich nicht gibt und noch niemand so eine
Suche nach ähnlichen aber nicht komplett identischen Textteilen gebraucht hätte. Wenn ich
Programmierkenntnisse hätte, dann würde ich mir so ein Tool auf jeden Fall selbst schreiben,
falls es das wirklich nicht geben sollte (kleiner indirekter Aufruf an alle Programmierer :-)
Danke schonmal
Ralf
ich suche ein Programm/Tool oder sonstige Lösung für eine Ähnlichkeitssuche in Textdateien.
Habe schon hunderte Suchergebnisse und Webseiten durchgesehen und Beschreibungen von allen
möglichen Diff-/Merge-Tools durchgelesen, aber ich finde einfach nichts passendes :-(
Folgendes Problem:
Ich habe mehrere Textdateien, die ich miteinander vergleichen möchte. In diesen Textdateien
sind viele Sätze bzw. Zeilen, die einen ähnlichen - aber nicht identischen - Inhalt haben.
Beispiel:
DATEI 1.txt
shell:Common AppData hidden C:\ProgramData
shell:Common Desktop C:\Users\Public\Desktop
shell:Common Documents C:\Users\Public\Documents
shell:CommonDownloads C:\Users\Public\Downloads
shell:CommonMusic C:\Users\Public\Music
shell:CommonPictures C:\Users\Public\Pictures
shell:Common Programs hidden C:\ProgramData\Microsoft\Windows\Start Menu\Programs
shell:CommonRingtones hidden C:\ProgramData\Microsoft\Windows\Ringtones
shell:Common Start Menu hidden C:\ProgramData\Microsoft\Windows\Start Menu
shell:Common Startup hidden C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
shell:Common Templates hidden C:\ProgramData\Microsoft\Windows\Templates
shell:CommonVideo C:\Users\Public\Videos
DATEI 2.txt
shell:Common Documents
shell:Common Desktop
shell:CommonMusic
shell:Common Startup
shell:CommonDownloads
shell:Common Start Menu
shell:CommonPictures
shell:Common Programs
shell:CommonVideo
shell:Common AppData
Wie ihr erkennen könnt:
a) sind die Einträge von Datei 2 auch alle in Datei 1, allerdings fehlt in Datei 2 die Beschreibung
b) sind in Datei 1 einige Einträge, die in Datei 2 nicht vorhanden sind
c) sind die Einträge in Datei 2 nicht in derselben Reihenfolge wie in Datei 1
GESUCHT:
Ich suche ein Tool etc., dass
- 2 (Text-)Dateien vergleicht
- alle Zeilen der einen Datei mit allen Zeilen der anderen Datei abgleicht und dabei einen
"Ähnlichkeitsvergleich" durchführt, d.h. dass z.B. der Eintrag "shell:Common Documents"
aus Datei 2 genommen wird und in allen Zeilen der Datei 1 gesucht wird, ob dieser Eintrag
dort in irgendeiner Zeile enthalten ist.
- Wenn also ein Eintrag aus Datei 2 in irgendeiner Zeile der Datei 1 enthalten ist, dann
sollen diese beiden Zeilen
a) markiert werden und z.B. entweder mit einer Line verbunden werden oder mit einer Zahl
gekennzeichnet werden (falls möglich)
b) die Möglichkeit bestehen, dass man einen der beiden Einträge (also den aus Datei 1 oder
den aus Datei 2) löschen kann
c) Am Wichtigsten: die Möglichkeit, dass man manuell oder automatisch einen der
Einträge (den kurzen aus Datei 2 oder den langen aus Datei 1) in eine neue Textdatei
schreiben lassen kann.
Wichtig wäre dabei noch, dass man die "Ähnlichkeitssuche" noch näher eingrenzen kann, wie z.B.
- Suchtext beginnt erst ab Spalte X in´Datei 1 / Spalte Y in Datei 2
- Vergleiche nur eine Anzahl von 10 Zeichen ab Spalte X / vom Anfang / vom Ende der Zeile
- Vergleiche komplette Zeile(n) aus Datei X mit allen Zeilen der Datei Y
- Beginne mit der Vergleichssuche erst ab Zeile Z und höre XX Zeilen vor dem Ende der Datei mit
der Suche auf
- Ignoriere Leerzeichen vor/nach/innerhalb Suchtext bzw. Suchzeilen
Vielleicht kann mir ja hier jemand helfen und kennt ein entsprechendes Programm/Tool. Ich kann
mir irgendwie nicht vorstellen, dass es sowas wirklich nicht gibt und noch niemand so eine
Suche nach ähnlichen aber nicht komplett identischen Textteilen gebraucht hätte. Wenn ich
Programmierkenntnisse hätte, dann würde ich mir so ein Tool auf jeden Fall selbst schreiben,
falls es das wirklich nicht geben sollte (kleiner indirekter Aufruf an alle Programmierer :-)
Danke schonmal
Ralf