Startseite>Mit Diff Unterschiede in Dateien aufspüren
Aus Raspberry Pi Geek 06/2020

Mit Diff Unterschiede in Dateien aufspüren (Seite 3)

Differenzen einpflegen

Beim Übertragen von Dateien brauchen Sie nicht zwingend den gesamten Inhalt zu übermitteln, wenn frühere Versionen am Ziel bereits vorliegen. Egal, ob Manuskript oder Quelltext: Es genügt, die Differenz zu finden und diese zu transferieren.

Mit vielen Programmen, meist aber mit Diff, erstellen Sie eine Datei mit den Patch-Anweisungen, um Änderungen einzuspielen. Mit der Anweisung aus der ersten Zeile von Listing 7 erstellen Sie eine Patch-Datei, deren Inhalt für unser Beispiel Listing 8 zeigt.

Listing 7

$ diff -uNr Alter_Stand Neuer_Stand > Patch-Datei
$ patch -b Alter_Stand < Patch-Datei

Listing 8

--- 1.txt       2019-11-09 08:59:06.000000000 +0100
+++ 2.txt       2019-11-09 08:59:13.000000000 +0100
@@ -1,4 +1,4 @@
 Das ist eine Textdatei.
 Sie besteht aus
 drei Zeilen!
-abcDEF
+ABCdef

Damit sind die Dateinamen und die enthaltenen Änderungen bekannt. Sie spielen die Daten mit dem Kommando aus der zweiten Zeile von Listing 7 ein. Mit der Option -b sichern Sie dabei die Originaldatei vor dem Patch. Abbildung 13 zeigt das Anfertigen der Patch-Datei.

Abbildung 13: Gerade bei Quellcode ist es sinnvoll, lediglich die Differenzen zu einer fr&uuml;heren Datei als sogenannten Patch bereitzustellen. Dessen Gr&ouml;&szlig;e ist meist weitaus geringer, was beim &Uuml;bertragen &uuml;bers Netz Vorteile bringt.

Abbildung 13: Gerade bei Quellcode ist es sinnvoll, lediglich die Differenzen zu einer früheren Datei als sogenannten Patch bereitzustellen. Dessen Größe ist meist weitaus geringer, was beim Übertragen übers Netz Vorteile bringt.

Abbildung 14 zeigt das Einspielen des Patches und das Ergebnis. Dabei fragt die Software ab, ob Sie die neuere Datei bearbeiten möchten.

Abbildung 14: Das Einspielen eines Patches gelingt im Handumdrehen.

Abbildung 14: Das Einspielen eines Patches gelingt im Handumdrehen.

Auch das Patchen von Verzeichnissen gelingt bei Bedarf. Dazu erstellen Sie mittels Diff eine Datei mit den Unterschieden, die Sie mit Patch wieder einspielen.

Fazit

Auf der Kommandozeile lassen sich Unterschiede zwischen Dateien und Verzeichnissen schnell ermitteln. Umgekehrt erkennen Sie auf einfache Weise doppelt Vorhandenes. Statt immer komplette Textdateien weiterzugeben, sparen Sie bei umfangreichen Änderungen Bandbreite und Plattenplatz, indem Sie jeweils einen Patch erstellen und ihn weiterreichen. 

Der Autor

Harald Zisler beschäftigt sich seit den frühen 90er-Jahren mit FreeBSD und Linux. Zu Technik- und EDV-Themen verfasst er Zeitschriftenbeiträge und Bücher.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland