text: Start LinuxUser Know-how Zu Befehl
  Heike Jurzik und Patricia Jung
  Anhand der Trennlinie — sehen Sie in einem Vorher-Nachher-Szenario, wie eine in datei2 geänderte Zeile (gekennzeichnet mit >) in datei1 aussah (< am Zeilenanfang). diff geht davon aus, dass die zweite Argumentdatei neuer ist als die erste. Die Ausgabe zeigt also, welche Änderungen an datei1 vorgenommen werden müssen, damit datei2 entsteht. Wirklich praktisch ist in diesem Zusammenhang, dass das Programm neu eingefügte Textabschnitte als solche erkennt:
  Bevor diff eine Veränderung dokumentiert, erklärt das Programm, wo sie stattgefunden hat: 13c13 bedeutet, dass Zeile 13 in der ersten Argumentdatei zu Zeile 13 in der Vergleichsdatei wurde (c für "changed"); 81a82,84 erklärt, dass die Zeilen 82 bis 84 in der neueren Datei auf Zeile 81 in der älteren folgen (a für "append").
  Bei längeren Texten kann die Ausgabe der Unterschiede sehr lang werden. Um den Überblick zu behalten, "pipen" Sie den diff-Aufruf in einen Pager Ihrer Wahl, z. B. diff datei1 datei2less, oder leiten die Ausgabe direkt in eine Datei um: diff datei1 datei2 > aenderung.
  Um einfach nur herauszufinden, ob sich zwei Dateien unterscheiden, reicht ein diff -q (die Kurzform der Option –brief). Wenn die Files nicht identisch sind, verrät das Programm: Files datei1 and datei2 differ, ansonsten schweigt es.
  Mit der Option -c (kurz für –context) sieht das Ergebnis etwas anders aus:
  Patch-Dateien enthalten Quelltextänderungen im Unified-Diff-Format. Dies erzeugen Sie mit dem Befehl diff -u datei1 datei2; statt -u können Sie auch –unified schreiben. Auch hier werden die Unterschiede beider Dateien durch Minus- und Pluszeichen gekennzeichnet, tauchen aber direkt hintereinander auf:
  Um diff abzugewöhnen, auch hinzugekommene oder gelöschte Leerzeilen als Unterschied zu vermerken, benutzt man den Parameter -B (kurz für –ignore-blank-lines). Interessieren Differenzen nicht, die auf eine unterschiedliche Anzahl von Leerzeichen zurückzuführen sind, bekommt das Tool das Flag -b mit auf den Weg. Auch Änderungen bei der Groß- und Kleinschreibung können ignoriert werden: Die passende Option heißt -i (kurz für –ignore-case).
  Ein "Flicken", mit der sich der Quellcode einer älteren Software auf eine neuere Version aktualisieren lässt. Zum Einspielen eines Patches auf Quellcode-Ebene wird unter Unix das Programm patch verwendet.