So vergleichen Sie zwei Dateien unter Linux

So vergleichen Sie zwei Dateien unter Linux
Wenn Sie zwei Dateien vergleichen und den Unterschied entschlüsseln möchten, ist ein Befehl namens “diff" wird eingesetzt. Dieser Leitfaden konzentriert sich darauf, Ihnen die Verwendung des “zu bieten“diffBefehl mit verschiedenen Optionen, um den Unterschied zwischen zwei Dateien zu erhalten.

Wie geht es dem?diffEigentum des Befehls tatsächlich? Der "diffDer Befehl ”Vergleicht die beiden Dateien und gibt eine Liste von Unterschieden zwischen beiden Dateien aus. Genauer gesagt ergibt es eine Liste von Modifikationen. Der "diffDer Befehl ”wird auch von den Programmierern verwendet, um den Unterschied zwischen zwei Quellcode -Dateien für die Entwicklung von Patches zu erhalten.

Beachten Sie, dass die Reihenfolge der Dateien sehr wichtig ist, bevor Sie in die Beispiele eintauchen. Weil das "diffDer Befehl ”gibt eine Ausgabe an, die in der Reihenfolge der Dateien basiert.

So verwenden Sie den Befehl „Diff“ unter Linux, um Dateien zu vergleichen:

Die Syntax der “diffDer Befehl ”wird unten erwähnt:

$ diff [Optionen] [Datei1] [Datei2]

Erstellen Sie zunächst zwei Dateien. Ich erstelle Textdateien mit dem Namen von “Test_file_1.txt" Und “Test_file_2.txt". Diese Dateien enthalten Inhalte mit einem kleinen Unterschied:

Verwenden Sie nun den folgenden Befehl, um den Unterschied zu erhalten:

$ diff test_file_1.txt test_file_2.txt

In der Standardausgabe wurden die Zeilen angezeigt, die gemäß der Reihenfolge der im Befehl genannten Dateien übereinstimmen. Lassen Sie uns also die Ausgabe dekodieren:

Der Vergleich der Dateien ist gekennzeichnet, und jedes Etikett hat eine Nummer auf beiden Seiten. Das Format lautet wie folgt:

[Zeilennummer der Datei 1] [Label (A, C, D)] [Zeilennummer der Datei 2]

Es gibt drei Etiketten:

  • A - Fügen Sie hinzu: Fügen Sie Inhalte in der ersten Datei hinzu, um mit der zweiten Datei zu synchronisieren.
  • C - Änderung: Gibt an, dass eine Änderung, die im Inhalt der ersten Datei benötigt wird, um mit der zweiten Datei übereinzustimmen.
  • D - Löschen: Entfernen Sie Inhalte aus der ersten Datei, die mit der zweiten übereinstimmt.

"2d1" Zeigt an, dass sie die Zeilennummer 2 der ersten Datei löschen, die mit der zweiten Datei aus Zeilennummer 1 übereinstimmt.

Ähnlich, "4c3" bedeutet, in der vierten Zeile der ersten Datei eine Änderung vorzunehmen, die die Zeilennummer 3 der zweiten Datei entspricht, da beide Zeilen geringfügig unterschiedlich sind.

Es gibt eine andere Methode, um den Unterschied anzuzeigen und die zu verwenden "Diff" Befehl mit dem "-Y" Möglichkeit:

$ diff -y -W 60 test_file_1.txt test_file_2.txt

In der obigen Ausgabe der Inhalt von “Test_file_1.txt" wird auf der linken Seite angezeigt, während der Inhalt von “Text_file_2.txt" wird auf der rechten Seite angezeigt. Der Unterschied wird durch die Symbole angezeigt:

  • | - Die Zeile ist in der zweiten Datei unterschiedlich
  • > - Die Zeile ist in der zweiten Datei zusätzlich
  • < - Line has been deleted from the second file

Das "-W" zeigt die Breite zwischen dem Inhalt von zwei Dateien an. Verwenden Sie Folgendes, um separat zu erreichen und den Unterschied anzusehen:

$ diff -y -W 60 -Suppress -Common -Lines test_file_1.txt test_file_2.txt

So erhalten Sie die Ausgabe in einer Zeile mit dem Befehl „Diff“:

Wenn die beschriftete Methode für Sie schwer zu dekodieren ist, gibt es einen einfacheren Ansatz. Verwendung der "-Q" Option mit dem "Diff" Der Befehl gibt Ihnen Ausgabe in einer Zeile. Nun, ohne zusätzliche Informationen:

$ diff -q test_file_1.txt test_file_2.txt

Wenn sich die Dateien unterscheiden, gibt der obige Befehl eine Ausgabe an. Wenn die Dateien identisch sind, gibt es keine Ausgabe. Um es zu demonstrieren, erstelle ich eine Kopie von “Test_file_1.txt" Verwendung:

$ cp test_file_1.txt test_file_3.txt

Eine neue Datei wird mit dem Namen von erstellt “Test_file_3.txt" mit dem gleichen Inhalt enthalten wie “Test_file_1.txt" hat. Jetzt benutzen:

$ diff -q test_file_1.txt test_file_2.txt

Da beide Dateien einen ähnlichen Inhalt haben, würde es daher keine Ausgabe geben.

So überprüfen Sie den Unterschied von Dateien im Kontextmodus mit dem Befehl „Diff“:

Um den Vergleich im Kontextmodus zu erhalten, die "-C" Option wird mit dem verwendet "Diff" Befehl:

$ diff -c test_file_1.txt test_file_2.txt

Lassen Sie uns die Ausgabe analysieren.

Um den Unterschied aufrechtzuerhalten, wird die erste Datei zusammen mit dem Datum und der Uhrzeit der Erstellung durch „***“ angezeigt, während die zweite Datei durch „-“ angegeben ist.

Die nächste Zeile bedeutet eine Reihe von Linien, die während des Vergleichs berücksichtigt werden. Für die erste Datei ist es "*** 1,6 ****" und für die zweite Datei ist es "-1,5-":

Der Unterschied wird durch die Symbole angezeigt:

  • + : Zeile ist in der ersten Datei nicht vorhanden. Fügen Sie es in die erste Datei ein oder entfernen Sie sie aus der zweiten Datei, um beide Dateien abzustimmen.
  • - : Die Zeile existiert in der ersten Datei, jedoch nicht in der zweiten Datei. Versuchen Sie, es in die zweite Datei einzufügen oder aus dem ersten zu entfernen, um beide Dateien abzustimmen.
  • ! : Zeile muss geändert werden, um übereinstimmen zu können.

So überprüfen Sie die Differenz der Dateien im Unified -Modus mit dem Befehl „Diff“:

Der einheitliche Modus ist dem Kontextmodus ziemlich ähnlich, jedoch ohne redundante Informationen. Die Flagge, die wir verwenden, ist "-U":

$ diff -u test_file_1.txt test_file_2.txt

In der Ausgabe wird die erste Datei durch "-" und die zweite durch "+++" angezeigt. Die zweite Zeile zeigt die Anzahl der zum Vergleich in beiden Dateien berücksichtigten Zeilen und dann der zu gelöschte Inhalt, hinzugefügt oder mit den Symbolen mit den Symbolen. In beiden Dateien gibt es kein Symbol mit ähnlichen Zeilen.

So ignorieren Sie die Fallempfindlichkeit, während Sie den Befehl „Diff“ verwenden:

Wenn Sie die Dateien vergleichen möchten, während Sie die Fallempfindlichkeit ignorieren, verwenden Sie die "-ich" Flagge:

$ diff -i test_file_1.txt test_file_2.txt

Zur Demonstration habe ich das gemacht "D" von "Deepin" in der ersten Datei klein:

Wie im ersten Befehl zu sehen ist, wird der Unterschied angegeben; während dem Benutzen "-ich" Dieser Unterschied wurde entfernt.

Einige andere nützliche Optionen der "Diff" Der Befehl ist unten aufgeführt:

Möglichkeit Beschreibung
-A Diese Option behandelt alle Dateien als Textdateien
-B Es ignoriert Änderungen, bei denen alle Linien leer sind
-E Diese Option ignoriert die Registerkartenerweiterung
-ICH Es ignoriert die Änderungen, an denen alle Zeilen übereinstimmen
-S Gibt Ausgabe an, wenn zwei Dateien identisch sind
-w Es ignoriert den ganzen weißen Raum
-Z Es ignoriert Weißraum am Ende der Linie

So verwenden Sie VIM -Editor, um zwei Dateien zu vergleichen:

Eine andere Methode zum Vergleichen von zwei Dateien ist die Verwendung der Verwendung des "Vimdiff" Befehl. Dafür müssen Sie VIM installieren lassen:

$ sudo apt install Vim

Um jetzt zwei Dateien zu vergleichen, verwenden Sie nun:

$ vimdiff test_file_1.txt test_file_2.txt

Beide Dateien werden nebeneinander geöffnet. Der nicht übereinstimmende Teil wird hervorgehoben:

So vergleichen Sie zwei Dateien mit "Colordiff":

Ein anderer Ansatz ist eine Art Erweiterung der "Diff" Befehl. Sie können den Vergleich identifizierbarer machen, indem Sie Farben hinzufügen. Umgebenden zu installieren:

$ sudo apt installieren colordiff

Verwenden Sie, um Dateien zu vergleichen:

$ colordiff test_file_1.txt test_file_2.txt

Sie können ersetzen "Diff" mit "Colordiff" Um die Standardausgabe der zu erhalten "Diff" Befehl im farbigen Format.

Abschluss:

Um Dateien in Linux und sogar in MacOS zu vergleichen, wird ein verwendetes Dienstprogramm als "Diff" bezeichnet. Das Dienstprogramm „Diff“ vergleicht zwei Dateien und gibt Informationen über die Unterschiede zwischen den beiden Dateien an. Die Entwickler verwenden hauptsächlich den Befehl „Diff“, um Patch -Dateien zu erstellen.

In diesem Leitfaden haben wir die gründlich besprochen "Diff" Befehl und wie Sie es verwenden, um zwei Dateien mit verschiedenen Optionen zu vergleichen. Wir haben auch gelernt, wie man benutzt "Colordiff" Damit die Dateiunterschiede erkennbarer machen. Wenn Sie jedoch ein terminalbasiertes Dienstprogramm schwer verwenden, gibt es auch einige GUI -basierte Tools wie Kompare, Diffmerge, MELD -Diff -Tool und Diffuse -GIFF -Tool.