Linux-Befehle

diff-Befehlsbeispiele unter Linux

diff-Befehlsbeispiele unter Linux
Der diff-Befehl ist ein Analyse- oder Informationsbefehl, der Unterschiede zwischen Dateien ausgibt, sie Zeile für Zeile oder Verzeichnisse rekursiv analysiert und gleichzeitig den Benutzer darüber informiert, welche Änderungen erforderlich sind, um Dateien gleich zu machen. Dieser Punkt ist wichtig, um diff-Ausgaben zu verstehen. Dieses Tutorial konzentriert sich auf den diff-Befehl.

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

# Nano-Diffsample1

Innenpaste:

 LinuxHint veröffentlicht die besten Inhalte für Sie 

Drücken Sie STRG+X und Y zum Speichern und Beenden.

Erstellen Sie eine zweite Datei namens diffsample2 mit demselben Inhalt:

# Nano-Diffsample2

Hinweis: Achten Sie auf Leerzeichen und Tabulatoren, Dateien müssen zu 100% gleich sein.

Drücken Sie STRG+X und Y zum Speichern und Beenden.

# diff diffsample1 diffsample2

Wie Sie sehen, gibt es keine Ausgabe, Sie müssen nichts tun, um die Dateien gleich zu machen, da sie bereits gleich sind.

Lassen Sie uns nun die Datei diffsample2 bearbeiten, um einige Änderungen vorzunehmen:

# Nano-Diffsample2

Dann ersetzen wir das Wort „Inhalt“ durch „Tipps“:

Drücken Sie STRG+X und Ja speichern und beenden.

Führen Sie nun aus:

# diff diffsample1 diffsample2

Sehen wir uns die Ausgabe an:

Die obige Ausgabe "3c3" bedeutet "Zeile 3 der ersten Datei von sollte durch Zeile 3 der zweiten Datei ersetzt werden". Der freundliche Teil der Ausgabe ist, dass sie uns zeigt, welcher Text geändert werden muss („Inhalt für dich" zum "Tipps für dich“)

Dies zeigt uns, dass die Referenz für den Befehl diff nicht die erste Datei ist, sondern die zweite, deshalb muss die dritte Zeile der ersten Datei (die erste 3) geändert werden (C) als die dritte Zeile der zweiten Datei (zweite 3).

Der Befehl diff kann 3 Zeichen anzeigen:

c: dieses Zeichen weist a . an Veränderung muss erledigt werden.
ein: Dieses Zeichen weist an, dass etwas sein muss Hinzugefügt.
d: Dieses Zeichen weist an, dass 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 < belongs to the first file and the symbol > zur zweiten Datei, die als Referenz verwendet wird.

Lass uns die Dateireihenfolge umkehren, anstatt zu laufen

# diff diffsample1 diffsample2

Lauf:

# diff diffsample2 diffsample1

Sie können sehen, wie die Reihenfolge invertiert wurde und jetzt die Datei diffsample1 als Referenz verwendet wird und uns anweist, "Tipps für Sie" in "Inhalte für Sie" zu ändern, dies war die vorherige Ausgabe:

Bearbeiten wir nun die Datei diffsample1 wie folgt:

Entfernen Sie alle Zeilen, außer der ersten Zeile in der Datei diffsample1. Dann renne:

# diff diffsample2 diffsample1

Wie Sie sehen können, müssen wir, da wir die Datei diffsample1 als Referenz verwendet haben, um die Datei diffsample2 genau gleich zu machen, (d) Zeilen zwei und drei (2,3) wie in der ersten Datei und den ersten Zeilen (1) wird gleich sein.

Lassen Sie uns nun die Reihenfolge umkehren und anstatt zu laufen “# diff diffsample2 diffsample1” Lauf:

# diff diffsample1 diffsample2

Wie Sie sehen, werden wir im vorherigen Beispiel zum Entfernen angewiesen, in diesem Beispiel jedoch zum Hinzufügen von (ein) Zeilen 2 und 3 nach der ersten Datei erste Zeile (1).

Lassen Sie uns nun an der Groß-/Kleinschreibung dieses Programms arbeiten.

Bearbeiten Sie die Datei diffsample2 wie folgt:

Und bearbeiten Sie die Datei diffsample1 wie folgt:

Der einzige Unterschied sind die Großbuchstaben in der Datei diffsample2. Jetzt vergleichen wir es noch einmal mit diff:

# diff diffsample1 diffsample2

Wie Sie sehen können, dass Unterschiede gefunden wurden, die Großbuchstaben, vermeiden wir die Erkennung von Großbuchstaben, wenn wir nicht an der Groß-/Kleinschreibung interessiert sind, indem wir die hinzufügen -ich Möglichkeit:

# diff -i diffsample1 diffsample2

Es wurden keine Unterschiede gefunden, die Fallerkennung wurde deaktiviert.

Ändern wir nun das Ausgabeformat, indem wir die Option hinzufügen -du verwendet, um einheitliche Ausgaben zu drucken:

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

Am Anfang dieses Artikels habe ich gesagt, dass Leerzeichen und Tabulatoren in beiden Dateien gleich sein müssen, da sie auch vom Befehl diff erkannt werden. Wenn wir möchten, dass der Befehl diff Leerzeichen und Tabulatoren ignoriert, müssen wir dies anwenden -w Möglichkeit.

Öffnen Sie die Datei diffsample2 und fügen Sie Leerzeichen und Tabulatoren hinzu:

Wie Sie sehen, habe ich nach "the best" in der zweiten Zeile ein paar Tabs hinzugefügt und auch Leerzeichen in allen Zeilen, schließen, speichern Sie die Datei und führen Sie aus:

# diff diffsample1 diffsample2

Wie Sie sehen, wurden zusätzlich zu den Großbuchstaben Unterschiede gefunden. Jetzt können wir die Option anwenden  -w um diff anzuweisen, Leerzeichen zu ignorieren:

Wie man sieht trotz der Tabellierung diff nur als Differenz die Großbuchstaben gefunden.
Jetzt fügen wir die Option -i wieder hinzu:

#diff  -wi diffsample2 diffsample1

Der Befehl diff hat Dutzende von verfügbaren Optionen zum Ignorieren, Ändern der Ausgabe, Unterscheiden von Spalten, falls vorhanden, usw. Weitere Informationen zu diesen Optionen erhalten Sie mit dem Befehl man oder unter http://man7.org/linux/man-pages/man1/diff.1.html. Ich hoffe, Sie fanden diesen Artikel mit diff-Befehlsbeispielen in Linux nützlich. Folgen Sie LinuxHint für weitere Tipps und Updates zu Linux und Netzwerken.

Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...