Auf FreeBSD oder den meisten Linux-Systemen können Sie die Ausgabe von diff durch cat -v -e -t
leiten um Leerzeichenunterschiede anzuzeigen.
diff file1 file2 | cat -vet
Registerkarten werden als ^I
angezeigt , ein $
wird am Ende jeder Zeile angezeigt, damit Sie abschließende Leerzeichen sehen können, und nicht druckbare Zeichen werden als ^X
angezeigt oder M-X
.
Wenn Sie GNU Coreutils haben (verfügbar auf den meisten Nicht-Busybox-Linux-Distributionen), kann dies vereinfacht werden zu
diff file1 file2 | cat -A
Verwenden Sie auf Busybox-Systemen catv -vet
.
Für vim
Benutzern gibt es ein praktisches Dienstprogramm, um genaue Unterschiede zwischen Dateien anzuzeigen:
vimdiff file1 file2
Dadurch wird jede Datei in Fenstern nebeneinander platziert und die Unterschiede werden farblich hervorgehoben.
Einige nützliche Befehle in vimdiff
Während in vimdiff
, einige nützliche Befehle sind:
-
]c
:zur nächsten Änderung springen -
[c
:zur vorherigen Änderung springen -
ctrl-W ctrl-W
:zu anderem Fenster wechseln -
zo
:offene Falten -
zc
:Falten schließen
Beispiel
Hier ist ein Beispiel für vimdiff
in einem xterm
Vergleich zweier Versionen eines cups
Konfigurationsdatei:
Sie können sehen, dass lange Abschnitte identischer Zeilen zusammengeklappt wurden. Sie können mit zo
wieder geöffnet werden .
Das Farbschema variiert je nach Ihren Optionseinstellungen. Wenn im obigen Beispiel eine Zeile in einer Datei erscheint, aber nicht in der anderen, erhält diese Zeile einen dunkelblauen Hintergrund. In der anderen Datei sind die fehlenden Zeilen durch gestrichelte Linien gekennzeichnet. Wenn eine Zeile in beiden Dateien vorkommt, aber einige Unterschiede aufweist, haben die unveränderten Teile der Zeilen einen rosa Hintergrund und die geänderten Teile einen roten Hintergrund.
Wurde eine der Dateien auf einem Windows-Rechner bearbeitet?
Der Standard-Zeilenabschluss unter Windows ist CRLF, während es unter Linux einfach LF ist (und auf Macs war es früher CR, aber ich vermute, dass sich das seit OS X geändert hat).
Versuchen Sie es mit wc -l
auf die Dateien und sehen Sie, wie viele Zeilen, dann sehen Sie, ob der Größenunterschied gleich der Anzahl der Zeilen ist (die letzte Zeile darf nicht in einer Datei enden).