Linux sdiff Befehl Tutorial für Anfänger (6 Beispiele)

Hier bei HowtoForge haben wir bereits über mehrere Befehlszeilenprogramme gesprochen, die sich darauf konzentrieren, Dateiunterschiede zu finden. Aber es gibt noch einige weitere solcher Werkzeuge, und in diesem Tutorial werden wir auf einen solchen Befehl mit dem Namen sdiff diskutieren anhand einiger leicht verständlicher Beispiele.

Bitte beachten Sie, dass alle in diesem Artikel genannten Beispiele auf Ubuntu 16.04 LTS getestet wurden.

Linux sdiff Befehl

Der Befehl sdiff zeigt Ihnen Dateiunterschiede in nebeneinander liegender Form an. Folgendes ist seine Syntax:

sdiff [OPTION]... FILE1 FILE2

Und so beschreibt es die Manualseite:

sdiff - side-by-side merge of file differences
Side-by-side merge of differences between FILE1 and FILE2.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen einen guten Eindruck davon vermitteln sollen, wie dieses Tool funktioniert.

Q1. Wie funktioniert der sdiff-Befehl?

Die grundlegende Verwendung ist einfach, alles, was Sie tun müssen, ist, den Befehl sdiff mit Dateinamen als Argumente auszuführen. Zum Beispiel:

sdiff file1 file2

file1 und file2 waren in meinem Fall genau gleich.

Wie der sdiff-Befehl funktioniert

Und hier ist die Ausgabedifferenz, die in diesem Fall erzeugt wird:

sdiff Befehlsergebnis

Diese Art der Ausgabe bedeutet, dass es keinen Unterschied in den Dateien gibt.

Q2. Wie man sdiff dazu bringt, den Fall zu ignorieren?

Angenommen, file1 und file2 enthalten folgende Zeilen:

Wie man sdiff dazu bringt, den Fall zu ignorieren.

Der Befehl:

sdiff file1 file2 file2

erzeugt die folgende Ausgabe:

sdiff file1 file2 file2

Das Rohr (|) in der ersten Zeile in der zweiten Spalte zeigt an, dass die beiden Dateien in der ersten Zeile selbst unterschiedlich sind. Wenn du jedoch willst, kannst du sdiff zwingen, Groß-/Kleinschreibung zu ignorieren, was du mit der Kommandozeilenoption -i tun kannst.

sdiff -i file1 file1 file2 file2

sdiff -i file1 file1 file2 file2

Sie können also sehen, dass die Ausgabe nun die beiden Dateien als identisch anzeigt, was bedeutet, dass der Fallunterschied ignoriert wurde.

Q3. Wie kann man Sdiff dazu bringen, Leerzeichen zu ignorieren?

Falls eine der Dateien Leerzeichen enthält, zeigt der Befehl sdiff standardmäßig die Differenz an. Wenn Sie möchten, können Sie dieses Verhalten jedoch mit der Kommandozeilenoption -Z unterdrücken:

Wie man sdiff dazu bringt, Leerzeichen zu ignorieren.

Dann gibt es noch einige andere raumbezogene Optionen, die Sie beachten sollten. Hier ist eine Liste:

-E, --ignore-tab-expansion
              ignore changes due to tab expansion
-b, --ignore-space-change
              ignore changes in the amount of white space
-W, --ignore-all-space
              ignore all white space

Q4. Wie man sdiff dazu bringt, Leerzeilen zu ignorieren?

Genau wie Leerzeichen berücksichtigt der Befehl sdiff standardmäßig auch Leerzeilen. Zum Beispiel:

Wie man sdiff dazu bringt, Leerzeilen zu ignorieren

Sie können den Befehl jedoch veranlassen, Leerzeilen zu ignorieren, indem Sie die Option -B Befehlszeile verwenden.

sdiff -B file1 file1 file2

sdiff -B file1 file1 file2

So können Sie sehen, dass der Befehl sdiff in diesem Fall die Leerzeile nicht als Unterschied betrachtet hat.

Q5. Wie kann man erreichen, dass sdiff gemeinsame Linien unterdrückt?

Angenommen, die Dateien enthalten einige gemeinsame Zeilen, und Sie möchten, dass der Befehl sdiff gemeinsame Zeilen unterdrückt, dann können Sie dies mit der Befehlszeilenoption -s tun.

sdiff -s file1 file1 file2

Q6. Wie kann man erreichen, dass sdiff ein anderes Diff-Programm verwendet?

Standardmäßig verwendet sdiff diff, um den Vergleich durchzuführen. Wenn Sie möchten, können Sie diff jedoch auch durch das Programm Ihrer Wahl ersetzen. Verwenden Sie dazu die Option –diff-program, die als Eingabe den Programmnamen benötigt.

sdiff --diff-program=[PROGRAM] file1 file2

Fazit

Das Sdiff-Tool bietet vielleicht eine Menge Funktionen, aber die Lernkurve ist nicht so steil. Alles, was du tun musst, ist ein wenig üben, und du solltest gut sein, um zu gehen. Wir haben hier die meisten Kommandozeilenoptionen besprochen. Weitere Informationen findest du auf der Man Page von sdiff.

Das könnte Dich auch interessieren …