Erstellen Sie Diff zwischen zwei Dateien unter Linux

Erstellen Sie Diff zwischen zwei Dateien unter Linux
In diesem Artikel werden nützliche Befehlszeilen -Dienstprogramme und grafische Anwendungen aufgeführt, mit denen Sie "Diff" oder "Differenz" zwischen zwei oder zwei Dateien anzeigen können. Diese Anwendungen sind besonders nützlich, wenn Sie mehrere Versionen derselben Datei vergleichen möchten, um den Fortschritt zu überprüfen oder auf alte Inhalte zurückzukehren, falls Sie frühere Daten wiederverwenden möchten, die in der Datei gespeichert sind. Softwareentwickler, die ein Versionskontrollsystem verwenden.

GREP -Befehl

Grep ist ein Befehlszeilen -Tool, das am häufigsten verwendet wird, um Textinhalte mithilfe von Mustern zu finden und anzupassen. Sie können Grep -Muster auf verschiedene Weise verwenden, um Textdaten zu analysieren und Übereinstimmungen zu erhalten. Ein solches Grep -Muster ermöglicht es Ihnen, Diff zwischen zwei Dateien anzuzeigen. Angenommen, es gibt zwei Dateien "Datei1", die 1 bis 5 Zahlen in jeder Zeile und "Datei2" enthalten, die 1 bis 10 Zahlen in jeder Zeile enthalten, können den folgenden GREP -Befehl verwenden, um die Differenz zwischen diesen Dateien anzuzeigen:

$ grep -fxvf Datei1 Datei2

Nachdem Sie den oben angegebenen Befehl ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:

6
7
8
9
10

Der Schalter „F“ im obigen Befehl berücksichtigt Textdaten als eine Liste fester Zeichenfolgen, von denen jede durch einen Zeilenumbruch oder eine neue Zeile getrennt ist. Der "X" -Schalter entspricht nur ganzer Linien. Der "V" -Schalter wird verwendet, um umgekehrte Übereinstimmungen zu erhalten. Sie können es verwenden, um nicht übereinstimmende Zeilen auszuwählen. Der "F" -Schalter wird verwendet, um Muster aus einer Datei zu erhalten, wobei jedes Muster eine neue Zeile ist. Beachten Sie, dass die Reihenfolge der Argumente wichtig ist, wenn Sie den oben angegebenen Diff -Befehl verwenden. Es findet jene Zeilen, die in "Datei2" vorhanden sind, aber nicht in "Datei1" existieren, nicht vorhanden ist. Versuchen Sie, den folgenden Befehl auszuführen, indem Sie die Dateireihenfolge umkehren. Sie erhalten keine Ausgabe:

$ grep -fxvf Datei2 Datei11

Dies liegt daran, dass "Datei1" keine Zeilen von "Datei2" hat. Der GREP -Befehl ist standardmäßig in allen wichtigen Linux -Verteilungen verfügbar. Weitere Informationen zum GREP -Befehl verwenden Sie die folgenden zwei Befehle:

$ MAN GREP
$ grep -HELP

Diff -Befehl

Diff ist ein Befehlszeile -Dienstprogramm für Befehlszeilen, mit dem die Dateienzeile nach Zeile verglichen werden können. Seine Ausgabe deuten auf Zeilen hin, die hinzugefügt oder entfernt werden mussten, um beide Dateien miteinander abzustimmen. Führen Sie den folgenden Befehl mit denselben Dateien im obigen Beispiel aus:

$ diff File2 Datei11

Sie sollten die folgende Ausgabe erhalten:

6,10d5
< 6
< 7
< 8
< 9
< 10

Die Ausgabe gibt an, dass Sie alle Zeilen, die von der 6. Zeile zur 10. Zeile beginnen, um die zweite Datei bis auf die 5. Zeile der ersten Datei abzustimmen, um "Datei2" mit Datei1 mit Datei1 abzustimmen ("D"). Versuchen Sie, den Befehl umzukehren:

$ diff File1 Datei2

Sie sollten die folgende Ausgabe erhalten:

5a6,10
> 6
> 7
> 8
> 9
> 10

Die Ausgabe zeigt Ihnen, dass nach der 5. Zeile („A“) 6 bis 10 Zeilen zu „Datei1“ hinzugefügt wird, um sie mit "Datei2" anzupassen. Sie können auch einen Side-by-Side-Vergleich mit dem "Y" -Schalter durchführen.

Diff -Befehl ist standardmäßig in den meisten Linux -Verteilungen verfügbar. Für weitere Informationen können Sie diese beiden Befehle ausführen:

$ MAN Diff
$ diff -HELP

Verschmelzen

Meldung ist eine grafische Anwendung, mit der Differenz zwischen zwei oder mehr Dateien ermittelt und gleichzeitig Änderungen zusammengefasst werden können. Es kann auch verwendet werden, um Dateien in einem Verzeichnis rekursiv zu vergleichen, einschließlich Ordner unter Versionskontrolle. Melden Sie visuell an. Es kann auch in Echtzeit diff angezeigt werden, wenn Sie weiterhin eines oder beide Dateien bearbeiten.

Verwenden Sie zum Installieren von MELD in Ubuntu den unten angegebenen Befehl:

$ sudo apt installieren Sie MELD

MELD ist in Standard -Repositories der meisten Linux -Distributionen verfügbar, sodass Sie es vom Paketmanager herunterladen können. Sie können auch mehr Pakete und Quellcode von der Homepage erhalten.

Kompare

Kompare ist eine kostenlose und Open -Source -Anwendung, mit der Differenz zwischen zwei Dateien erstellt und Änderungen zusammengefasst werden können, um ihren Inhalten zu entsprechen. Entwickelt vom KDE -Team kann auch verwendet werden, um Verzeichnisse rekursiv zu analysieren, um Unterschiede zwischen Dateien zu vergleichen. Kompare zeigt visuell Diff zwischen zwei Dateien an und Sie können sie auch verwenden, um Patches zu erstellen und anzuwenden.

Um Kompare in Ubuntu zu installieren, verwenden Sie den unten angegebenen Befehl:

$ sudo apt installieren kompare

Kompare ist in Standard -Repositories der meisten Linux -Distributionen erhältlich, sodass Sie es vom Paketmanager herunterladen können. Sie können mehr Pakete und Quellcode von der Webseite erhalten. Hier ist auch ein Snap -Paket verfügbar.

Git Diff -Befehl

Git ist eines der am häufigsten verwendeten und beliebten verteilten Versionskontrollsysteme. Es wird mit vielen Befehlszeilen -Dienstprogrammen geliefert, einschließlich eines „Diff“ -Befehls, mit dem zwei Dateien verglichen werden können. Sie können diesen Befehl verwenden, um zwei Dateien ausführlich zu vergleichen, auch wenn Sie keine Git -Versionskontrolle verwenden, und er verfügt über zahlreiche Befehlszeilenoptionen, um das Verhalten von Diff -Algorithmen zu optimieren. In seiner einfachsten Form können Sie diesen Befehl ausführen, um zwei Dateien zu vergleichen:

$ git Diff File1 Datei2

Die farbige Ausgabe mit "+" -Schild zeigt zusätzliche Zeilen in „Datei2“, die verfügbar sind. Verwenden Sie den unten angegebenen Befehl zum Installieren von Git und Git Diff in Ubuntu:

$ sudo APT Installieren Sie Git

Git Diff ist Teil des Git -Pakets und ist in Standard -Repositories der meisten Linux -Verteilungen verfügbar, sodass Sie es vom Paketmanager herunterladen können. Für weitere Informationen zu Git Diff verwenden Sie die folgenden zwei Befehle:

$ MAN GIT Diff
$ git diff -help

Kdiff3

KDIFF3 ist ein weiteres GUI -Diff -Tool, das vom KDE -Team erstellt wurde. Es kommt mit allen Schnickschnack, die Sie von einem Diff -Tool erwarten würden. Es kann Dateien und Verzeichnisse vergleichen und Änderungen automatisch verschmelzen, wenn dies ausgewählt wird. Es wird auch mit einem integrierten Editor geliefert und gibt visuell an, welche Änderungen vorgenommen werden müssen, um den Dateien zu entsprechen und Unterschiede zu entfernen.


(Bildquelle)

Um KDIFF3 in Ubuntu zu installieren, verwenden Sie den unten angegebenen Befehl:

$ sudo apt install kdiff3

KDIFF3 ist in Standard -Repositories der meisten Linux -Distributionen erhältlich, sodass Sie es aus dem Paketmanager herunterladen können. Sie können mehr Pakete und Quellcode von der Webseite erhalten.

Abschluss

Dies sind einige der nützlichsten Befehlszeile und grafische Dienstprogramme, mit denen mehrere Dateien verglichen werden können. Diese Diff -Tools bieten eine gute Möglichkeit, Dateiänderungen zu verfolgen, Unterschiede zusammenzufassen und Patches zu erstellen. Sie können sie auch verwenden, um die Dateien bei Bedarf manuell in ihren früheren Status zurückzuversetzen.