Die Notwendigkeit des Dateivergleichs auf einem Linux-Betriebssystem wird oft übersehen, spielt aber insbesondere für Linux-Systemadministratoren eine wichtige Rolle. Die Möglichkeit, zwei Dateien auf einem Linux-Terminal flexibel zu vergleichen, gibt Aufschluss darüber, wie einzigartig oder unterschiedlich eine Gruppe von Dateien wahrgenommen wird.
[Das könnte Ihnen auch gefallen:So verbinden Sie zwei Textdateien unter Linux]
Beispielsweise können zwei Dateien mit denselben Eigenschaften und derselben Größe vorhanden sein. Anstatt davon auszugehen, dass sie identisch sind, wird ein Linux-Dateivergleichsprogramm die Luft zu einem solchen Problem klären. Sie könnten überrascht sein, wenn Sie feststellen, dass der Unterscheidungsfaktor der beiden Dateien ein Wortlaut oder Abstand ist, der mit einer Datei übereinstimmt und mit der anderen nicht übereinstimmt.
Mehrere Terminal-basierte Linux-Programme können uns helfen, das Ziel dieses Artikels zu erreichen, aber nur wenige zeichnen sich durch dynamische Funktionalitäten aus.
Textdateien unter Linux erstellen
Lassen Sie uns zwei Beispieldateien vom Linux-Terminal erstellen. Stellen Sie sicher, dass Sie ein sudoer-Benutzer sind oder über sudo-Berechtigungen für das von Ihnen verwendete Linux-Betriebssystem verfügen.
$ sudo nano file1
Wir werden diese Datei mit zufälligem Inhalt füllen.
1 2 3 4 5 6 7 8 9 10eins zwei drei vier fünf sechs sieben acht neun zehnDiese Datei enthält einige Zahlenfolgen in Zahlen- und Textform. Mit freundlichen Grüßen,LinuxShellTips Tutor
Lassen Sie uns eine zweite Datei erstellen.
$ sudo nano file2
Wir werden diese Datei mit etwas ähnlichem Inhalt wie Datei1 füllen .
11 2 13 4 15 6 7 8 19 10eins zweimal drei vier fünf sechs sieben acht neun zehn Diese Datei enthält einige Zahlenfolgen in numerischer Form und einige Textdarstellungen der ZahlenDiff zum Vergleichen von Dateien unter Linux verwenden
Da diff ist ein Terminal-basiertes Programm, mit dessen Hilfe die Unterschiede zwischen zwei Dateien gezielt ausgegeben werden. Mit anderen Worten, der diff output informiert Sie über die Änderungen, die auf Datei1 implementiert werden können damit es mit file2 übereinstimmt oder identisch ist .
Ausgeben der Unterschiede zwischen zwei Dateien
Lassen Sie uns den ersten Versuch implementieren, diese beiden Dateien zu vergleichen:
$ diff Datei1 Datei2Wir können diese Ausgabe folgendermaßen interpretieren:
Wenn Sie zur ursprünglichen Datei1 zurückkehren und Datei2 Dateien, die wir zuvor erstellt haben, werden Sie feststellen, dass der obige diff Die Befehlsausgabe zeigt nicht den gesamten Inhalt der beiden Dateien an. Es hat alle Ähnlichkeiten der beiden Dateien weggelassen und nur ihre Unterschiede angezeigt.
Mit Diff in Linux herausfinden, dass zwei Dateien identisch sind
Lassen Sie uns eine dritte Datei namens file3 erstellen .
$ sudo nano file3Wir werden diese Datei mit ähnlichem Inhalt wie Datei1 füllen.
1 2 3 4 5 6 7 8 9 10eins zwei drei vier fünf sechs sieben acht neun zehnDiese Datei enthält einige Zahlenfolgen in Zahlen- und Textform. Mit freundlichen Grüßen,LinuxShellTips TutorEin Einzeiler diff Die Befehlsausgabe sollte uns direkt sagen können, ob zwei Dateien identisch sind.
$ diff -s Datei1 Datei3Die Verwendung des zusätzlichen
-s
Befehlsargument ermöglicht diese Ausgabe. Wenn Sie es jedoch mit zwei nicht identischen Dateien implementieren, werden deren Unterschiede dennoch ausgegeben.$ diff -s Datei1 Datei2Wenn Sie nach einer einzeiligen Ausgabe für zwei Dateien suchen, von denen Sie vermuten, dass sie unterschiedlich sind, ziehen Sie die Verwendung des diff-Befehls mit -q in Betracht Option.
$ diff -q Datei1 Datei2Die Dateien Datei1 und Datei2 unterscheiden sichAlternative Ansicht der Diff-Befehlsausgabe
Wenn der Ausgabevergleich Ihrer beiden Dateien nebeneinander erfolgen soll, ziehen Sie die Implementierung von diff in Betracht Befehl mit dem
-y
Option.$ diff -y Datei1 Datei2Wenn Sie möchten, dass der obige Befehl die Ähnlichkeiten der beiden Dateien unterdrückt oder ignoriert, fügen Sie
--suppress-common-lines
hinzu Option.$ diff -y --suppress-common-lines file1 file2Wenn Sie es mit zwei großen Dateien zu tun haben und die Ausgabe auf bestimmte Spaltennummern beschränken möchten, würden Sie den diff implementieren Befehl auf folgende Weise.
$ diff -y -W 50 Datei1 Datei2Der obige Befehl geht davon aus, dass die beiden Dateien im Vergleich etwas groß sind und 50 überschreiten Spalten in Bezug auf die Textgröße. Die Diff-Ausgabe wird auf 50 Spalten begrenzt.