Dateien zusammenführen leicht gemacht: Verwenden des Befehls diff3 unter Linux
10:44, 09.04.2026
Das Zusammenführen von Dateien kann mit hilfreichen Tools wie dem Befehl diff3 erheblich erleichtert werden. Systemadministratoren und Programmierer, die ständig mit mehreren Versionen einer Datei arbeiten und diesen Prozess beschleunigen möchten, können diff3 nutzen. Dieser Befehl ist unverzichtbar, um die Unterschiede zwischen verschiedenen Versionen derselben Datei zu identifizieren.
Dank unserer praktischen Erfahrung haben wir beschlossen, die Grundlagen von diff3 zu erklären und einige nützliche Beispiele zu teilen, damit Sie dieses Tool und seinen Anwendungsfall im Linux-System besser verstehen können.
Verstehen des diff3-Befehls
Der diff3-Befehl funktioniert, indem er Dateien vergleicht, die Unterschiede zwischen ihnen ermittelt und diese Informationen in einer für den Benutzer leicht verständlichen Form ausgibt.
Die Hauptanwendungsfälle für dieses Tool sind die folgenden:
- Das Zusammenführen verschiedener Dateien kann automatisch erfolgen.
- Die Unterschiede zwischen den Dateien können leicht identifiziert werden.
- Konflikte, die beim Zusammenführen verschiedener Versionen auftreten, können behandelt werden.
Es gibt auch die Befehle diff und sdiff, die für das Zusammenführen von Versionen verwendet werden können. Der besondere Vorteil von diff3 liegt jedoch darin, dass Sie mit drei verschiedenen Versionen arbeiten und diese problemlos in einer einzigen Datei zusammenführen können.
Überblick über die Syntax von diff3
So sieht die Standard Verwendung des Befehls aus:
diff3 [Optionen] f1 f2 f3
In dieser Zeile gibt f1 die ursprüngliche Version der Datei an, f2 die zweite Version und f3 die 3. Version.
Häufig verwendete Optionen
Hier finden Sie eine Liste der am häufigsten verwendeten Optionen für diesen Befehl. Einige davon sind:
- -m: Datenzusammenführung, die automatisch erfolgt.
- -e: Diese Option wird für die Erstellung des Ed-Skripts benötigt, das für die Übernahme der Änderungen erforderlich ist.
- -3: Zeigt nur die Unterschiede zwischen den drei Dateien an.
- -A: Alle verfügbaren Änderungen aus den drei Dateien hinzufügen.
- -E: die Zusammenführung der Dateien, auch wenn ein bestimmter Konflikt vorliegt.
Wie man Dateidifferenzen unter Linux erkennt
Wenn Sie drei Versionen derselben Datei haben und die Daten darin leicht voneinander abweichen, können Sie diese Versionen ganz einfach vergleichen. Anschließend erhalten Sie eine Ausgabe mit Informationen zu jeder Zeile in jeder Version. Wenn irgendwo eine neue Zeile hinzugefügt wird, sehen Sie diese Information, oder wenn eine bestimmte Zeile in einer dieser Versionen geändert wird, erhalten Sie auch diese Daten.
Verwenden Sie zum Vergleich dieser Dateien den folgenden Befehl:
diff3 f1.txt f2.txt f3.txt
Nach Verwendung dieses Befehls erhalten Sie eine Ausgabe mit einigen Änderungen, die in allen drei Versionen vorgenommen wurden. Normalerweise werden die Daten für jede Version mit folgenden Zahlen angezeigt:
- 1:2c: bedeutet, dass die erste Version Änderungen in der zweiten Zeile aufweist und Sie auch den Inhalt dieser Zeile sehen
- 2:3c: bedeutet, dass die zweite Version der Datei Änderungen in der 3. Zeile aufweist und Sie diese bestimmte Zeile sehen werden
- 3:2,3c: bedeutet, dass Version 3 Änderungen in den Zeilen 2 und 3 aufweist.
Dateien mit diff3 in Linux kombinieren
Um alle drei Versionen einer Datei zu kombinieren, können Sie die Option -m verwenden. Dies bedeutet, dass eine neue Datei mit allen Änderungen erstellt wird.
diff3 -m f1.txt f2.txt f3.txt
Die Ausgabe dieses Befehls zeigt, wo Konflikte in den Zeilen bestehen. Wenn beispielsweise alle drei Versionen Änderungen in derselben Zeile enthalten, können Sie die tatsächlich benötigten Informationen manuell bearbeiten und speichern.
Änderungen aus mehreren Dateien mit diff3 integrieren
Um die Änderungen aus allen Versionen zu integrieren und ein ed-Skript zu erstellen, müssen Sie die Option -e wie folgt verwenden:
diff3 -e f1.txt f2.txt f3.txt > scriptfile
Mit dieser Zeile erstellen Sie eine Datei scriptfile, die das ed-Skript enthält, das wie folgt verwendet werden kann:
ed f1.txt < scriptfile
Dadurch wird die erste Version der Datei gemäß den in der Skriptdatei vorgenommenen Änderungen geändert. Mit dem folgenden Befehl können Sie überprüfen, ob die Änderungen vorgenommen wurden:
cat f1.txt
Dadurch wird angezeigt, welche Zeilen in der Version F1 enthalten sind, sodass die Dateien viel einfacher automatisch zusammengeführt werden können.
Umgang mit Konflikten bei diff3-Zusammenführungen
Ein Konflikt bei einer Zusammenführung tritt auf, wenn es an derselben Stelle der Datei einen Unterschied gibt. Solche Konflikte sind in der Ausgabe enthalten, sodass Sie überprüfen können, wo sie aufgetreten sind, und alles manuell ändern können. Hier ist ein schrittweiser Prozess, der zur Lösung des Konflikts durchgeführt werden sollte:
- Öffnen Sie die Datei, in der der Konflikt aufgetreten ist
- Ändern Sie die Datei auf die erforderliche Weise, indem Sie die Zeilen bearbeiten/entfernen
- Vergessen Sie nicht, die Datei zu speichern.
Abschließende Gedanken
diff3 ist eine großartige Methode, mit deren Hilfe Sie mit verschiedenen Versionen derselben Datei arbeiten können. Sie können die Unterschiede zwischen den Versionen leicht erkennen und bei Bedarf auch alle drei Versionen zusammenführen.