Thomas 'PointedEars' Lahn
2015-08-10 19:42:38 UTC
Hallo,
kennt jemand ein Programm, mit dem man Textdateien sinnvoll vergleichen
kann, wo im wesentlichen Blöcke verschoben oder vertauscht sind?
Die meisten Diff-Utilities fressen sich offenbar nur von oben nach unten
durch und zeigen die Verschiebungen dann als große Inserts/Delete Blöcke
ohne noch einzelne Änderungen in den verschobenen Blöcken erkennen zu
können.
Ich behelfe mir derzeit mit GFC (graphical file compare) von August
1994, was dieses Feature unterstützt. Ein Bild sagt mehr wie tausend
Worte: Loading Image...
Bei den beiden Beispieldateien ist großflächig Zeug vertauscht worden,
und das hat der Bursche auch weitgehend erkannt.
Das Ding läuft aber nur unter OS/2 2.x aufwärts. Eine native Linux
Losung wäre mir schon deutlich lieber. Zielplattform ist Linux Mint 17
Mate. Also wenn's geht nicht gerade etwas was den halben KDE installiert.
Diffuse habe ich im Moment am Wickel, aber das scheint es auch nicht zu
packen. Ist dieses Wissen von damals verloren gegangen?
Ergänzend zu <news:***@PointedEars.de>:kennt jemand ein Programm, mit dem man Textdateien sinnvoll vergleichen
kann, wo im wesentlichen Blöcke verschoben oder vertauscht sind?
Die meisten Diff-Utilities fressen sich offenbar nur von oben nach unten
durch und zeigen die Verschiebungen dann als große Inserts/Delete Blöcke
ohne noch einzelne Änderungen in den verschobenen Blöcken erkennen zu
können.
Ich behelfe mir derzeit mit GFC (graphical file compare) von August
1994, was dieses Feature unterstützt. Ein Bild sagt mehr wie tausend
Worte: Loading Image...
Bei den beiden Beispieldateien ist großflächig Zeug vertauscht worden,
und das hat der Bursche auch weitgehend erkannt.
Das Ding läuft aber nur unter OS/2 2.x aufwärts. Eine native Linux
Losung wäre mir schon deutlich lieber. Zielplattform ist Linux Mint 17
Mate. Also wenn's geht nicht gerade etwas was den halben KDE installiert.
Diffuse habe ich im Moment am Wickel, aber das scheint es auch nicht zu
packen. Ist dieses Wissen von damals verloren gegangen?
“Patience Diff” von Bram Cohen, wie es u. a. git unterstützt (dafür braucht
man kein git-Repository), könnte hier noch bessere Ergebnisse als “diff -d”
liefern, oder zumindest Hinweise darauf geben, wie der gewünschte
Algorithmus aussehen müsste. Ich bin heute beim Lesen von git-diff(1)
darüber gestolpert (Option “--patience”):
<http://bramcohen.livejournal.com/73318.html>
Ausserdem bin ich gestern über agrep(1) gestolpert, was eine ungefähre
Textsuche basierend auf der Levenshtein-Distanz zwischen Suchschlüssel und
Zieltext ermöglicht:
<http://www.tgries.de/agrep/>
Eventuell lassen sich diese beiden Ansätze kombinieren.
X-Post <news:de.comp.os.unix.apps.misc>, <news:de.comp.lang.misc>;
F'up2 <news:de.comp.os.unix.apps.misc>.
Bitte geeignet (je nachdem, ob User oder Entwickler) umbiegen.
--
PointedEars
Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.
PointedEars
Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.