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

Vergleichen Sie zwei Dateien unter Linux – Verwenden Sie diff, vimdiff und colordiff

Linux bietet Ihnen mehrere Optionen, um zwei Dateien zu vergleichen. Der beliebteste Befehl zum Vergleichen zweier Dateien ist diff . In diesem Tutorial sehen wir uns den diff-Befehl und einige andere Optionen an, die Sie verwenden können, um zwei Dateien unter Linux zu vergleichen.

Lassen Sie uns zwei Dateien erstellen, die Sie im gesamten Tutorial als Beispiele verwenden können.

Text für Datei 1:

 Welcome to the best source for learning Linux.
 How are you doing?

Text für Datei 2:

Welcome to Linux For Devices!
How are you doing?

Diff-Befehl zum Vergleichen zweier Dateien unter Linux

Der Diff-Befehl ist der am häufigsten verwendete Befehl, wenn es darum geht, zwei Dateien zu vergleichen. Der Name ist die Abkürzung für „Unterschied “. Die Ausgabe teilt Ihnen die Schritte mit, die Sie befolgen müssen, um die erste Datei so zu ändern, dass sie mit der zweiten Datei übereinstimmt.

Die Syntax für die Verwendung des diff-Befehls lautet:

diff [option] [file 1] [file 2]

Sehen wir uns den diff-Befehl in Aktion an.

diff [file 1] [file 2]

Die Ausgabe zeigt nur die Zeilen an, die nicht übereinstimmen. Die Zeilen werden in der Reihenfolge der Dateien angezeigt, wie im Befehl angegeben.

Versuchen wir, die Ausgabe zu verstehen.

Sie können sehen, dass die Ausgabe mit ‘1c1‘ beginnt . Dies hat das Format [range][abc][range].

Wobei das erste Bereichsfeld zur ersten Datei gehört und das zweite Bereichsfeld zur zweiten Datei.

Der Buchstabe in der Mitte kann einer der folgenden drei sein.

  • a: hinzufügen
  • c: ändern
  • d: löschen

In unserem Beispiel ‘1c1’ bedeutet, dass Sie Veränderung brauchen Zeilennummereins der ersten Datei um sicherzustellen, dass die beiden Dateien bis zur Zeile Nummer eins der zweiten Datei synchronisiert werden.

3d2 bedeutet, dass Sie Zeile Nummer drei löschen müssen der ersten Datei, um sicherzustellen, dass die beiden Dateien in Zeile Nummer zwei synchronisiert werden der zweiten Datei.

Kontextmodus (diff -c)

Um den Unterschied zwischen zwei Dateien im Kontextmodus zu sehen, verwenden Sie -c Flag zusammen mit dem Diff-Befehl.

diff -c [file 1] [file 2]

Versuchen wir, die Ausgabe zu verstehen.

Die Ausgabe beginnt mit Metainformationen über die Datei. Dies sind Informationen wie Dateiname, Datum und Uhrzeit der Erstellung und Berechtigungen.

Die nächste Zeile ist *** 1,3 ****. Diese Zeile enthält die Zeilennummer von und bis, die beim Vergleich berücksichtigt wird.

Danach folgt der Text aus Datei 1. Hier sieht man bestimmte Symbole vor der Zeile. Mal sehen, was diese Symbole bedeuten.

  • + :Die Zeile fehlt in der ersten Datei. Sie können es entweder in der ersten Datei hinzufügen oder aus der zweiten Datei löschen.
  • – : In der zweiten Datei fehlt die Zeile. Sie können es entweder in der zweiten Datei hinzufügen oder aus der ersten Datei löschen.
  • ! : Die Zeile muss geändert werden, damit sie in beiden Zeilen übereinstimmt.

Dieselbe Information wird für die zweite Datei wiederholt.

Einheitliches Format (diff -u)

Das einheitliche Format ist eine verbesserte Version des Kontextmodus. Die Syntax lautet wie folgt:

diff -u [file 1] [file 2]

Sie können sehen, dass es die gleichen Informationen vermittelt, aber auf prägnante Weise.

Vimdiff zum Vergleichen zweier Dateien unter Linux

Eine andere Möglichkeit, zwei Dateien zu vergleichen, ist Vimdiff. Dies funktioniert nur, wenn Sie den Vim-Editor auf Ihrem System haben.

Die Syntax zum Vergleichen zweier Dateien mit vimdiff lautet:

vimdiff [file 1] [file 2] 

So sieht die Ausgabe aus. Es öffnet die beiden Dateien nebeneinander im Vim-Editor. Es hebt auch die Teile hervor, die in den beiden Dateien nicht übereinstimmen. Sie sollten vimdiff verwenden, wenn Sie mit dem Vim-Editor vertraut sind.

Colordiff

Das Perl-Skript colordiff ist ein Wrapper für „diff“ und erzeugt die gleiche Ausgabe, jedoch mit hübscher „Syntax“-Hervorhebung. Außerdem haben Sie die Möglichkeit, die Farben anzupassen.

Verwenden Sie den apt-Befehl, um colordiff auf Ihrem System zu installieren:

sudo apt install colordiff

Dieser Befehl installiert colordiff auf Ihrem System. Um zwei Dateien mit colodiff zu vergleichen, verwenden Sie :

colordiff [file 1] [file 2] 

Sie können sehen, dass die Ausgabe die gleiche ist wie die oben im diff-Befehl erzeugte. Der einzige Unterschied besteht in der Farbe in der Ausgabe.

Schlussfolgerung

In diesem Tutorial ging es um verschiedene Methoden zum Vergleichen von Dateien unter Linux.


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

  2. Eine einfache Möglichkeit, Dateien und Verzeichnisse in Linux zu verstecken

  3. So komprimieren und dekomprimieren Sie .bz2-Dateien in Linux mit dem bzip2-Befehl

  4. Führen Sie manuell zwei Dateien mit diff zusammen

  5. Verwendung von rz und sz unter Linux-Shell

Alles über Tar-Dateien und wie man Dateien in Linux mit Terminal tart und enttarnt

So vergleichen Sie Dateien unter Linux mit dem Tool Meld (Diff/Merge).

So vergleichen Sie zwei Dateien im Linux-Terminal

So verstecken Sie Ordner und Dateien in Linux mithilfe einer Textdatei

Verwenden des Diff-Befehls zum Vergleichen zweier Dateien im Linux-Terminal

Die 4 besten Tools zur Dateidifferenzierung unter UNIX / Linux – Diff, Colordiff, Wdiff, Vimdiff