Dateivergleichstools (Diff) für Linux

Programmierer, Webentwickler und sogar Autoren müssen oft verschiedene Versionen desselben Codes oder Textes vergleichen, um Änderungen im Auge zu behalten. Eine effiziente Möglichkeit hierfür ist ein Diff-Tool – eine Anwendung, die Dateien oder Ordner vergleicht, Unterschiede zwischen ihnen anzeigt und Ihnen beim Erstellen einer neuen Datei hilft, indem sie ihre Versionen zusammenführt oder patcht. Im Allgemeinen können Sie Dateien unter Linux entweder mit einem Befehlszeilentool oder mit einer eigenständigen Anwendung vergleichen.

Diff, Colordiff und Wdiff

Unterschied

Das Befehlszeilenprogramm „diff“ ist Teil des Pakets „diffutils“, das in den Repositories jeder größeren Linux-Distribution vorhanden ist. Es ist ein einfaches Tool, das Dateien Zeile für Zeile vergleicht und auch Dateien in zwei Ordnern vergleichen kann. Wenn ausgewählte Dateien identisch sind, druckt „diff“ keine Ausgabe und Sie können seine Optionen anpassen (zum Beispiel, um Leerzeichen oder Groß-/Kleinschreibung zu ignorieren).

Die allgemeine Syntax ist

diff -option Dateiname1 Dateiname2

Die Ergebnisse können mit der Option -y oder --side-by-side in zwei Spalten angezeigt werden. Die vollständige Liste der Diff-Optionen erhalten Sie durch Eingabe von:

Das Paket „diffutils“ enthält auch diff3 – ein Tool, das drei Dateien vergleichen und drei Versionen einer Datei zusammenführen kann. Eine gute Anleitung, wie Sie das Beste aus diff herausholen können, finden Sie hier auf der offiziellen Website.

[enlazatom_show_links]

Farbunterschied

Farbunterschied ist technisch gesehen ein „Wrapper“ oder ein Skript, das die Ausgabe von diff ändert, indem es sie entsprechend Ihren Einstellungen in der Konfigurationsdatei („/etc/colordiffrc“ oder „/home/user/.colordiffrc“) einfärbt. Das colordiff-Paket ist in den Repositories der meisten Distributionen verfügbar.

Colordiff hat die gleichen Optionen wie diff und Sie können es entweder direkt verwenden, indem Sie Folgendes eingeben:

colordiff -options Dateiname1.txt Dateiname2.txt

oder indem Sie die Ausgabe von „diff“ dorthin weiterleiten:

diff -u Dateiname1.txt Dateiname2.txt | Farbdiff

Wdiff

Ein weiteres ähnliches und etwas spezialisierteres Tool ist wdiff, das Dateien Wort für Wort vergleichen kann (es definiert ein Wort als alles, was von Leerzeichen umgeben ist). Wdiff kann die Groß-/Kleinschreibung ignorieren (-i), Statistiken (-s) über Änderungen in bestimmten Dateien bereitstellen und Unterschiede in der Formatierung hervorheben (-p). Sie können colordiff und wdiff auch kombinieren, um eine farbcodierte Übersicht über Wortunterschiede zwischen Dateien zu erhalten:

wdiff -n Dateiname1.txt Dateiname2.txt | Farbdiff

Beachten Sie, dass Sie den vollständigen Pfad eingeben müssen, wenn sich die Dateien nicht im aktiven Ordner befinden. Weitere Informationen zu wdiff finden Sie unter die offizielle Website.

Diff-Modi in Vim und Emacs

Die beliebten Texteditoren Vim und Emacs verfügen beide über einen integrierten Diff-Modus. Um ihn in Vim zu aktivieren, können Sie das Programm mit dem Befehl vimdiff starten und bis zu vier zu vergleichende Dateien hinzufügen:

vimdiff Datei1 Datei2 [file3 [file4]]

Vim öffnet jede Datei in einem separaten Fenster und hebt die Unterschiede hervor. Sie können die Aufteilung der einzelnen Fenster konfigurieren, um eine bessere Übersicht zu erhalten.

Emacs-Benutzer können zwischen einer Diff-Erweiterung (genannt „Hauptmodus“) oder Ediff wählen, einem etwas fortgeschritteneren Modus, mit dem Sie verglichene Dateien interaktiv ändern können. Ähnlich wie Vim kann Emacs Dateien in separaten Fenstern nebeneinander anzeigen und die Unterschiede hervorheben. Sie können damit auch Dateien zusammenführen, und es funktioniert auch mit komprimierten Dateien.

Beide Texteditoren haben eine relativ komplexe Syntax, die etwas Einarbeitung erfordert, aber es lohnt sich, da sie sehr leistungsfähig und umfassend anpassbar sind.

Kdiff3

Kdiff3 ist eine grafische Oberfläche für diff, d. h. es basiert auf diff und bietet alle seine Optionen. Sie können damit zwei Dateien mit einer Basisdatei vergleichen und ganze Ordner, Dateien oder nur ausgewählte Textteile zusammenführen, teilen und verbinden. Kdiff3 lässt sich gut in KDE integrieren (unterstützt Dolphin-Dienstmenüs), funktioniert aber auf allen Linux-Distributionen, Windows und Mac OS X. Im Dialogfeld „Einstellungen -> Kdiff3 konfigurieren“ können Sie Parameter für den Dateivergleich in Ordnern (nach Datum, Größe, binärem Vergleich oder vollständigem Inhalt) und zwischen Dateien (Groß-/Kleinschreibung, Zahlen und Leerzeichen ignorieren) festlegen. Sie können Zeilenumbruch und Zeilennummern für eine bessere Übersicht umschalten und Farbeinstellungen anpassen, um die Unterschiede hervorzuheben.

Das Tolle an Kdiff3 ist, dass Sie Text aus jeder Datei direkt in das Hauptfenster einfügen können. So müssen Sie keine Dateien erstellen, wenn Sie Text einfach nur spontan vergleichen möchten.

Diffus

Auf den ersten Blick scheint es einfach, aber Diffuse ist genauso leistungsstark wie andere Tools auf dieser Liste. Es kann eine unbegrenzte Anzahl von Dateien in einer Side-by-Side-Ansicht vergleichen und die Unterschiede zusammenfassen. Sie können Dateien direkt aus Diffuse bearbeiten und Zusammenführungen und Zeilenabgleiche durchführen. Es unterstützt auch (eingeschränkte) Syntaxhervorhebung und bietet Integration mit mehreren Versionskontrollsystemen – einschließlich Git, Mercurial und Subversion –, damit Sie Dateien synchron halten können. Diffuse funktioniert unter Linux, Windows und Mac OS X.

Diffmerge

Diese Anwendung funktioniert unter Linux, Windows und OS X, integriert sich gut in den Windows Explorer und bietet Installationspakete für einige Distributionen. Sie können Dateien in Diffmerge bearbeiten, Dateiversionen automatisch zusammenführen und Unterschiede in eine neue Datei exportieren. Es kann bis zu drei Dateien und zwei Ordner vergleichen und anzeigen, ob die Dateien identisch sind, was nützlich sein kann, wenn Sie überprüfen, ob ein rsync-Backup korrekt durchgeführt wurde.

Im Einstellungsdialog können Sie benutzerdefinierte Regeln für die Handhabung verschiedener Dateitypen definieren. Diffmerge ist kostenlos, verlangt jedoch gelegentlich einen kostenpflichtigen Registrierungsschlüssel. Dies könnte einige Benutzer abschrecken; zum Glück können sie ein anderes Tool aus dieser Liste auswählen, da alle mehr oder weniger die gleichen Optionen bieten.

Melden

Meld packt Funktionen aus anderen Diff-Tools in eine Python-basierte Schnittstelle. Sie können Laden Sie den Quellcode und die Windows-Version herunterund finden Sie das Paket in den Repositories, wenn Sie Ubuntu, Fedora oder SUSE verwenden. Das Coole an Meld ist, dass Sie es nicht installieren müssen – führen Sie einfach die ausführbare Datei aus und verwenden Sie es als portable App.

Meld unterstützt das Bearbeiten von Dateien, das Filtern mit regulären Ausdrücken, das Vergleichen und Zusammenführen von drei Dateien sowie das Vergleichen von zwei oder drei Ordnern und deren Inhalt und bietet außerdem eine hilfreiche Visualisierung von Unterschieden mithilfe von Pfeilen und Farbcodierung. Wenn Sie ein Versionskontrollsystem wie Git, Mercurial oder SVN verwenden, kann Meld Ihre Dateien verwalten, auf Änderungen prüfen und Commits und Updates durchführen. Meld wird regelmäßig aktualisiert, sodass wir auf neue Funktionen in zukünftigen Versionen hoffen können.

Andere Optionen

Wenn Sie keine neue Anwendung für diesen Zweck installieren möchten und keine erweiterten Dateivergleichsfunktionen benötigen, können Sie einige der vielen Online-Diff-Tools die kostenlos sind und nur einen Webbrowser erfordern.

Verwenden Sie ein Diff-Tool, das nicht auf dieser Liste steht? Erzählen Sie uns davon in den Kommentaren.

Index
  1. Diff, Colordiff und Wdiff
    1. Unterschied
    2. Farbunterschied
    3. Wdiff
  2. Diff-Modi in Vim und Emacs
  3. Kdiff3
  4. Diffus
  5. Diffmerge
  6. Melden
  7. Andere Optionen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up