Ich habe zwei Dateien, die im Wesentlichen ein Speicherabbild in einem Hex-Format enthalten. Im Moment benutze ich diff, um zu sehen, ob die Dateien unterschiedlich sind und wo die Unterschiede liegen. Dies kann jedoch irreführend sein, wenn versucht wird, den genauen Ort (dh die Speicheradresse) der Differenz zu bestimmen. Betrachten Sie das folgende Beispiel, in dem die beiden Dateien nebeneinander angezeigt werden.
file1: file2:
0001 | 0001
ABCD | FFFF
1234 | ABCD
FFFF | 1234
Jetzt diff -u
wird eine Einfügung und eine Löschung angezeigt, obwohl sich 3 Zeilen (Speicherorte) zwischen den beiden Dateien geändert haben:
0001
+FFFF
ABCD
1234
-FFFF
Gibt es eine einfache Möglichkeit, die beiden Dateien so zu vergleichen, dass jede Zeile nur mit derselben Zeile (in Bezug auf die Zeilennummerierung) in der anderen Datei verglichen wird? In diesem Beispiel sollte also gemeldet werden, dass sich die letzten 3 Zeilen geändert haben, zusammen mit den geänderten Zeilen von file1
und file2
. Die Ausgabe muss nicht diff-artig sein, aber es wäre cool, wenn sie eingefärbt werden könnte (im Moment färbe ich die diff -u
Ausgabe mit, sed
damit sie leicht angepasst werden kann).
diff
funktioniert das einfach so . Versuchen Sie es mit dem GUI-Programm,meld
das die beiden Dateien nebeneinander anzeigt. Wie inmeld <(nl file1) <(nl file2)