Diff -Befehlsbeispiele unter Linux

Diff -Befehlsbeispiele unter Linux
Der Diff -Befehl ist ein Analyse- oder informativer Befehl, der Unterschiede zwischen Dateien, die Analyse dieser Zeile nach Zeile oder Verzeichnissen rekursiv druckt und gleichzeitig den Benutzer darüber informiert, welche Änderungen erforderlich sind, um Dateien gleich zu machen. Dieses Tutorial konzentriert sich auf den Diff -Befehl.

Erstellen Sie vor Beginn zwei Dateien mit einem Texteditor (Nano wird in diesem Tutorial verwendet) mit demselben Inhalt:

# Nano diffmuste1

Innenpaste:

 LinuxHint veröffentlicht den besten Inhalt für Sie 

Drücken Sie Strg+X und y, um zu retten und zu beenden.

Erstellen Sie eine zweite Datei namens Diffsample2 mit demselben Inhalt:

# Nano Diffmuste2

Notiz: Achten Sie auf Leerzeichen und Registerkarten, Dateien müssen 100% gleich sein.

Drücken Sie Strg+X und y, um zu retten und zu beenden.

# Diff -diff -ample1 diffsample2

Wie Sie sehen können, gibt es keine Ausgabe. Es ist nicht erforderlich, etwas zu tun, um Dateien gleich zu gestalten, da sie bereits gleich sind.

Lassen Sie uns nun die Datei diffsample2 bearbeiten, um sich zu ändern:

# Nano Diffmuste2

Dann ersetzen wir das Wort "Inhalt" für "Tipps":

Drücken Sie Strg+X Und Y Zu speichern und beenden.

Jetzt laufen:

# Diff -diff -ample1 diffsample2

Sehen wir uns die Ausgabe an:

Die obige Ausgabe, "3c3" bedeutet "Zeile 3 der ersten Datei von sollte für Zeile 3 der zweiten Datei ersetzt werden". Der freundliche Teil der Ausgabe ist, dass wir uns zeigen, welcher Text geändert werden muss (“Inhalt für Sie" für "Tipps für Sie”))

Dies zeigt uns die Referenz für den Befehl Diff ist nicht die erste Datei, aber die zweite. Deshalb muss die erste Datei dritte Zeile (die erste 3) als dritte Zeile der zweiten Datei (zweite 3) geändert werden (c) (c) geändert werden.

Der Befehl Diff kann 3 Zeichen anzeigen:

C: Dieser Charakter weist a an Ändern muss erledigt werden.
A: Dieser Charakter weist etwas an, das etwas sein muss Hinzugefügt.
D: Dieser Charakter weist etwas an, das etwas sein muss Gelöscht.

Die ersten Zahlen vor einem Zeichen gehören zur ersten Datei, während die Zahlen nach den Zeichen zur zweiten Datei gehören.

Das Symbol der zweiten Datei, die als Referenz verwendet wird.

Lassen Sie uns die Reihenfolge der Dateien invertieren, anstatt auszuführen

# Diff -diff -ample1 diffsample2

laufen:

# Diff -Diff -Tampel2 Diffsample1

Sie können sehen, wie die Reihenfolge invertiert wurde und jetzt die Diffpample1 -Datei als Referenz verwendet wird. Sie weist uns an, „Tipps für Sie“ für „Inhalt für Sie“ zu ändern. Dies war die vorherige Ausgabe:

Bearbeiten wir nun die Datei diffsample1 wie folgt:

Entfernen Sie alle Zeilen, mit Ausnahme der ersten Zeile in der Datei diffpample1. Dann renne:

# Diff -Diff -Tampel2 Diffsample1

Wie Sie sehen können, haben wir die Datei differample1 als Referenz verwendet, um die Datei Diffsample2 genau gleich zu löschen (zum Löschen (D) Zeilen zwei und drei (2,3) Wie in der ersten Datei und in den ersten Zeilen (1) wird gleich sein.

Lassen Sie uns nun die Reihenfolge invertieren und anstatt zu laufen “# Diff -Diffmuster2 Diffsample1 ” laufen:

# Diff -diff -ample1 diffsample2

Wie Sie sehen können, weist wir uns im vorherigen Beispiel an, diese zu entfernen, diese an, (zu addieren (A) Zeilen 2 und 3 nach der ersten Datei erste Zeile (1).

Lassen Sie uns nun an der sensiblen Eigenschaft dieses Programms arbeiten.

Bearbeiten Sie die Datei diffsample2 wie:

Und bearbeiten Sie die Datei diffpample1 als:

Der einzige Unterschied sind die Großbuchstaben in der Datei diffsample2. Vergleichen wir es nun noch einmal mit Diff:

# Diff -diff -ample1 diffsample2

Wie Sie feststellen können, dass Differo -Fund -Unterschiede, die Großbuchstaben, vermeiden wir Differenzierung von Großbuchstaben, wenn wir nicht an dem Fall interessiert sind, indem wir das Hinzufügen des Hinzufügens haben -ich Möglichkeit:

# diff -i diffsample1 diffsample2

Es wurden keine Unterschiede festgestellt, die Fallerkennung war deaktiviert.

Ändern wir nun das Ausgabeformat, indem Sie die Option hinzufügen -u Wird verwendet, um einheitliche Ausgänge zu drucken:

Zusätzlich zeigt die Ausgabe mit a bisher und an die Uhrzeit - Und + Symbol, was entfernt werden sollte und was hinzugefügt werden sollte, um Dateien gleich zu machen.

Zu Beginn dieses Artikels sagte ich, dass Leerzeichen und Registerkarten in beiden Dateien gleich sein müssen, da sie auch durch den Befehlsdiff erkannt werden, wenn der Befehl Diff ignorieren, dass wir die Leerzeichen und Registerkarten ignorieren, müssen wir die anwenden -w Möglichkeit.

Öffnen Sie die Datei Diffsample2 und fügen Sie Leerzeichen und Registerkarten hinzu:

Wie Sie sehen, habe ich ein paar Registerkarten nach „das Beste“ in der zweiten Zeile und auch in allen Zeilen hinzugefügt, schließen Sie die Datei und führen Sie aus:

# Diff -diff -ample1 diffsample2

Wie Sie sehen können, wurden Unterschiede gefunden, zusätzlich zu den Großbuchstaben. Lassen Sie uns nun die Option anwenden -w Um Diff zu unterweisen, leere Räume zu ignorieren:

Wie Sie trotz der Tabellierung different nur als Differenz festgestellt haben.
Fügen wir nun die Option hinzu -ich bin noch einmal:

#DIFF -WI Diffsample2 Diff )1

Der Befehl Diff verfügt über Dutzende verfügbarer Optionen, die Sie anwenden können, um die Ausgabe zu ignorieren, die Ausgabe zu ändern, Spalten zu unterscheiden, wenn sie vorhanden sind, usw. Sie können zusätzliche Informationen zu diesen Optionen mit dem Man -Befehl Man oder unter http: // Man7 erhalten.org/linux/mannseiten/man1/diff.1.html. Ich hoffe, Sie haben diesen Artikel mit Diff -Befehlsbeispielen in Linux nützlich gefunden. Folgen Sie LinuxHint weiter, um weitere Tipps und Updates unter Linux und Networking zu erhalten.