diff
ÜBERSICHT
diff [option]... Von-Datei Nach-Datei
BESCHREIBUNG
Im einfachsten Fall vergleicht diff den Inhalt zweier Dateien, Von-
Datei und Nach-Datei. Ein Dateiname - steht für von der Standard-
eingabe gelesenen Text. Als Spezialfall vergleicht diff - - eine Kopie
der Standardeingabe mit sich selbst.
Wenn Von-Datei ein Verzeichnis ist und Nach-Datei nicht, dann vergle-
icht diff die Datei in Von-Datei, deren Dateiname der von Nach-Datei
ist und umgekehrt. Die Nicht-Verzeichnis-Datei darf nicht - sein.
Sind sowohl Von-Datei als auch Nach-Datei Verzeichnisse, dann vergle-
icht diff korrespondierende Dateien in beiden Verzeichnissen in alpha-
betischer Ordnung; dieser Vergleich ist nicht rekursiv, wenn nicht die
Option -r oder --recursive gegeben ist. diff vergleicht nie den
tatsächlichen Inhalt eines Verzeichnisses, als wäre es eine eine Datei.
Die Datei die voll spezifiziert ist, darf nicht die Standardeingabe
sein, da diese namenlos ist und damit keine Datei gleichen Namens
gefunden werden kann.
diff-Optionen beginnen mit -, also dürfen normalerweise Von-Datei und
Nach-Datei nicht mit - beginnen. Ein Argument -- jedoch behandelt alle
folgenden Argumente als Dateinamen, selbst wenn sie mit - beginnen.
Optionen
Unten findet man eine Zusammenfassung aller Optionen, die GNU diff
akzeptiert. Die meisten Optionen haben zwei äquivalente Namen, wobei
eine ein einzelner Buchstabe eingeleitet mit - ist, und die andere ein
langer Namen eingeleitet mit --. Mehrere Einzelbuchstaben-Optionen
können, wenn sie kein Argument nehmen, zu einem einzigen Komman-
dozeilenwort kombiniert werden: -ac ist äquivalent zu -a -c. Lange
Optionsnamen können zu jedem eindeutigen Präfix ihres Namens abgekürzt
werden. Eckige Klammern bedeuten, dass eine Option eine optionales
Argument nehmen kann.
-zeilen
Zeige zeilen (eine ganzen Zahl) Zeilen Kontext an. Diese Option
legt selbst kein Ausgabeformat fest; sie hat keinen Effekt, wenn
die nicht zusammen mit -c oder -u benutzt wird. Diese Option
ist veraltet. Um ordentlich zu funktionieren, braucht patch
typischerweise mindestens zwei Zeilen Kontext.
-a Behandle alle Dateien als Text und vergleiche sie zeilenweise,
auch wenn sie nicht Text zu sein scheinen.
-b Ignoriere Änderungen in der Menge von Whitespace (Leerzeichen
und Tabulatoren).
-B Ignoriere Änderungen, die nur leere Zeilen einfügen oder
löschen.
--changed-group-format=format
Nutze format, um eine Zeilengruppe, die sich unterscheidende
Zeilen aus beiden Dateien enthält, im If-then-else-Format
anzuzeigen.
-d Ändere den Algorithmus, um vielleicht einen kleineren Satz von
Änderungen zu finden. Das macht diff langsamer (manchmal viel
langsamer).
-D name
Erzeuge Ausgabe im zusammengeführten If-then-else-Format,
abhängig vom Präprozessormakro name.
-e
--ed Erzeuge Ausgabe, die ein gültiges ed-Skript ist.
--exclude=muster
Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unter-
verzeichnisse, deren Basisnamen auf das muster passen.
--exclude-from=datei
Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unter-
verzeichnisse, deren Basisnamen auf irgendein Muster in datei
passen.
--expand-tabs
Expandiere Tabulatoren in der Ausgabe, um die Ausrichtung der
Tabulatoren in den Eingabedateien zu erhalten.
-f Erzeuge Ausgabe, die vage an ein ed-Skript erinnert, aber
Änderungen in der Reihenfolge hat, in der sie in der Datei
auftreten.
-F regaus
Im Kontext- und vereinten Format: Zeige für jeden Batzen von
Unterschieden etwas aus der letzten vorangehenden Zeile, auf das
der reguläre Ausdruck regaus passt.
--forward-ed
Erzeuge Ausgabe, die vage an ein ed-Skript erinnert, aber
Änderungen in der Reihenfolge hat, in der sie in der Datei
auftreten.
-h Diese Option hat momentan keine Wirkung; sie ist nur für Kompat-
ibilität zu Unix vorhanden.
-H Benutze Heuristiken, um die Behandlung großer Dateien, die viele
verstreute kleine Änderungen haben, zu beschleunigen.
--horizon-lines=zeilen
Wirf die letzten zeilen Zeilen des gemeinsamen Präfix und ersten
zeilen Zeilen des gemeinsamen Suffix nicht weg
--ignore-blank-lines
Ignoriere Änderungen, die nur leere Zeilen einfügen oder
löschen.
--ignore-case
Ignoriere Änderungen in Groß-/Kleinschreibung.
--ignore-matching-lines=regaus
Ignoriere Änderungen, die nur Zeilen einfügen oder löschen, die
regaus entsprechen.
--ignore-space-change
Ignoriere Änderungen in der Menge von Whitespace (Leerzeichen
und Tabulatoren).
--initial-tab
Gib einen Tabulatoren an Stelle eines Leerzeichens vor dem Text
einer Zeile aus im Normal- oder Kontext-Format. Das führt dazu,
das die Ausrichtung von Tabulatoren in der Zeile normal
aussieht.
-l Leite die Ausgabe durch pr, um sie zu paginieren.
-L marke
--label=marke
Benutze marke an Stelle des Dateinamen im Kopf von Kontext- und
vereintem Format.
--left-column
Drucke nur die linke Spalte von zwei gemeinsamen Zeilen im
Seite-an-Seite-Format.
--line-format=format
Nutze format, um alle Eingabezeilen im If-then-else-Format
anzuzeigen.
--minimal
Ändere den Algorithmus, um vielleicht einen kleineren Satz von
Änderungen zu finden. Das macht diff langsamer (manchmal viel
langsamer).
-n Gib Unterschiede im RCS-Format aus; wie -f, nur das jedes Kom-
mando die Zahl der betroffenen Zeilen angibt.
-N
--new-file
Beim Vergleich von Verzeichnissen: Wenn eine Datei nur in einem
Verzeichnis gefunden wird, behandle sie als vorhanden aber leer
im anderem Verzeichnis.
--new-group-format=format
-p Zeige für jede Änderung, in welcher C-Funktion sie ist.
-P Beim Vergleich von Verzeichnissen: Wenn eine Datei nur im
zweiten der beiden Verzeichnisse gefunden wird, behandle sie als
vorhanden aber leer im anderem Verzeichnis.
--paginate
Leite die Ausgabe durch pr, um sie zu paginieren.
-q Melde nur, ob die Dateien sich unterscheiden, nicht die Details
der Unterschiede.
-r Beim Vergleich von Verzeichnissen: Vergleiche jegliche Unter-
verzeichnisse rekursiv.
--rcs Gib Unterschiede im RCS-Format aus; wie -f, nur das jedes Kom-
mando die Zahl der betroffenen Zeilen angibt.
--recursive
Beim Vergleich von Verzeichnissen: Vergleiche jegliche Unter-
verzeichnisse rekursiv.
--report-identical-files
-s Melde, wenn zwei Dateien gleich sind.
-S datei
Beim Vergleich von Verzeichnissen: Beginne mit Datei datei.
Dies wird benutzt, um einen abgebrochenen Vergleich fortzuset-
zen.
--sdiff-merge-assist
Gib zusätzliche Informationen aus, um sdiff zu helfen. sdiff
benutzt diese, wenn es diff aufruft. Diese Option ist nicht
dazu bestimmt, von Nutzern direkt aufgerufen zu werden.
--show-c-function
Zeige für jede Änderung, in welcher C-Funktion sie ist.
--show-function-line=regaus
Im Kontext- und vereinten Format: Zeige für jeden Batzen von
Unterschieden etwas aus der letzten vorangehenden Zeile, auf das
der reguläre Ausdruck regaus passt.
--side-by-side
Benutze das Seite-an-Seite-Format.
--speed-large-files
Benutze Heuristiken, um die Behandlung großer Dateien, die viele
verstreute kleine Änderungen haben, zu beschleunigen.
--starting-file=file
--text Behandle alle Dateien als Text und vergleiche sie zeilenweise,
auch wenn sie nicht Text zu sein scheinen.
-u Benutze das vereinte Ausgabeformat.
--unchanged-group-format=format
Nutze format, um eine Gruppe von gemeinsamen Zeilen aus beiden
Dateien im If-then-else-Format auszugeben.
--unchanged-line-format=format
Nutze format, um im If-then-else-Format eine Zeile, die in bei-
den Dateien auftritt, auszugeben.
--unidirectional-new-file
Beim Vergleich von Verzeichnissen: Wenn eine Datei nur im
zweiten der beiden Verzeichnisse gefunden wird, behandle sie als
vorhanden aber leer im anderem Verzeichnis.
-U lines
--unified[=zeilen]
Benutzt das vereinte Ausgabeformat, zeige dabei zeilen (eine
ganze Zahl) Zeilen Kontext, oder drei wenn zeilen nicht gegeben
ist. Um ordentlich zu funktionieren, braucht patch typischer-
weise mindestens zwei Zeilen Kontext.
-v
--version
Gib die Versionsnummer von diff aus.
-w Ignoriere Whitespace (Leerzeichen und Tabulatoren) beim Vergle-
ich von Zeilen.
-W spalten
--width=spalten
Benutze eine Ausgabebreite von spalten Spalten im Seite-an-
Seite-Format.
-x muster
Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unter-
verzeichnisse, deren Basisnamen auf das muster passen.
-X datei
Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unter-
verzeichnisse, deren Basisnamen auf irgendein Muster in datei
passen.
-y Benutze das Seite-an-Seite-Format.
SIEHE AUCH
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
Man(1) output converted for
Linux installieren!