GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied in Leerzeichen zwischen zwei Dateien unter Linux

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).


Linux
  1. So übertragen Sie Dateien zwischen zwei Computern mit den Befehlen nc und pv

  2. Lernen Sie den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux kennen

  3. Linux – Wie lösche ich Dateien, die zwischen zwei Mal erstellt wurden?

  4. Gemeinsame Linien zwischen zwei Dateien?

  5. Text zwischen zwei bestimmten Zeilen extrahieren?

Teilen Sie Dateien zwischen Linux-Desktops mit Warpinator

So kommentieren Sie Zeilen in Konfigurationsdateien unter Linux aus

So vergleichen Sie zwei Dateien im Linux-Terminal

So synchronisieren Sie Dateien automatisch zwischen zwei Linux-Servern

unterschied zwischen netstat und ss unter linux?

Vergleichen von zwei Dateien im Linux-Terminal