Dateien zusammenführen leicht gemacht: Verwenden des Befehls diff3 unter Linux

watch 4m, 1s
views 2

10:44, 09.04.2026

Artikel Inhalt
arrow

  • Verstehen des diff3-Befehls
  • Überblick über die Syntax von diff3
  • Häufig verwendete Optionen
  • Wie man Dateidifferenzen unter Linux erkennt
  • Dateien mit diff3 in Linux kombinieren
  • Änderungen aus mehreren Dateien mit diff3 integrieren
  • Umgang mit Konflikten bei diff3-Zusammenführungen
  • Abschließende Gedanken

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.

Teilen

War dieser Artikel für Sie hilfreich?

VPS beliebte Angebote

angebot

-20%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 65536 Windows

138.99 /mo

/mo

Monatlich abgerechnet

angebot

-24.4%

CPU
CPU
2 Xeon Cores
RAM
RAM
1 GB
Space
Space
20 GB SSD
Bandwidth
Bandwidth
300 GB
KVM-SSD 1024 HK Linux

13 /mo

/mo

Alle 12 Monate abgerechnet

angebot

-20%

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 16384 Windows

54.49 /mo

/mo

Monatlich abgerechnet

angebot

-20%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 1024 Windows

10.27 /mo

/mo

Alle 6 Monate abgerechnet

angebot

-20%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
Unlimited
wKVM-HDD 4096 Windows

21 /mo

/mo

Monatlich abgerechnet

-10%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 8192
OS
CentOS
Software
Software
Keitaro

28.99 /mo

/mo

Alle 12 Monate abgerechnet

angebot

-20%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 32768 Linux

69.99 /mo

/mo

Monatlich abgerechnet

angebot

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

40 /mo

/mo

Alle 12 Monate abgerechnet

angebot

-20%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 512 Linux

5.2 /mo

/mo

Alle 3 Monate abgerechnet

angebot

-20%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
300 GB
KVM-SSD 512 HK Linux

7 /mo

/mo

Alle 3 Monate abgerechnet

Weitere Artikel zu diesem Thema

cookie

Cookies und Datenschutz akzeptieren?

Wir verwenden Cookies, um sicherzustellen, dass wir Ihnen die beste Erfahrung auf unserer Website bieten. Wenn Sie fortfahren, ohne Ihre Einstellungen zu ändern, gehen wir davon aus, dass Sie mit dem Empfang aller Cookies auf der HostZealot-Website einverstanden sind.