DIFF(1) DIFF(1)
diff - finde Unterschiede zwischen zwei Dateien
diff [option]... Von-Datei Nach-Datei
Im einfachsten Fall vergleicht diff den Inhalt zweier Dateien, Von-
Datei und Nach-Datei. Ein Dateiname - steht fr von der Standardeingabe
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
tatschlichen Inhalt eines Verzeichnisses, als wre 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 drfen 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
knnen, wenn sie kein Argument nehmen, zu einem einzigen Kommandozeilen-
wort kombiniert werden: -ac ist quivalent zu -a -c. Lange Optionsnamen
knnen zu jedem eindeutigen Prfix ihres Namens abgekrzt 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 einfgen oder lschen.
--brief
Melde nur, ob die Dateien sich unterscheiden, nicht die Details
der Unterschiede.
-c Benutze das Kontext-Ausgabeformat.
-C zeilen
--context[=zeilen]
Benutze das Kontext-Ausgabeformat, zeige zeilen (eine ganzen
Zahl) Zeilen Kontext an, oder drei, wenn zeilen nicht gegeben
ist. Um ordentlich zu funktionieren, braucht patch typischer-
weise mindestens zwei Zeilen Kontext.
--changed-group-format=format
Nutze format, um eine Zeilengruppe, die sich unterscheidende
Zeilen aus beiden Dateien enthlt, 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 zusammengefhrten If-then-else-Format, abhngig
vom Prprozessormakro name.
-e
--ed Erzeuge Ausgabe, die ein gltiges 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 fr jeden Batzen von
Unterschieden etwas aus der letzten vorangehenden Zeile, auf das
der regulre 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 fr Kompati-
bilitt zu Unix vorhanden.
-H Benutze Heuristiken, um die Behandlung groer Dateien, die viele
verstreute kleine nderungen haben, zu beschleunigen.
--horizon-lines=zeilen
Wirf die letzten zeilen Zeilen des gemeinsamen Prfix und ersten
zeilen Zeilen des gemeinsamen Suffix nicht weg
-i Ignoriere nderungen in Gro-/Kleinschreibung.
-I regaus
Ignoriere nderungen, die nur Zeilen einfgen oder lschen, die
regaus entsprechen.
--ifdef=name
Erzeuge Ausgabe im zusammengefhrten If-then-else-Format, abhngig
vom Prprozessormakro name.
--ignore-all-space
Ignoriere Whitespace (Leerzeichen und Tabulatoren) beim Vergle-
ich von Zeilen.
--ignore-blank-lines
Ignoriere nderungen, die nur leere Zeilen einfgen oder lschen.
--ignore-case
Ignoriere nderungen in Gro-/Kleinschreibung.
--ignore-matching-lines=regaus
Ignoriere nderungen, die nur Zeilen einfgen oder lschen, 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 fhrt 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
Nutze format, um eine Gruppe von Zeilen aus der zweiten Datei im
If-then-else-Format auszugeben.
--new-line-format=format
Nutze format, um eine Zeile aus der zweiten Datei im If-then-
else-Format auszugeben.
--old-group-format=format
Nutze format, um eine Gruppe von Zeilen aus der ersten Datei im
If-then-else-Format auszugeben.
--old-line-format=format
Nutze format, um eine Zeile aus der ersten Datei im If-then-
else-Format auszugeben.
-p Zeige fr 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 zustzliche 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 fr jede nderung, in welcher C-Funktion sie ist.
--show-function-line=regaus
Im Kontext- und vereinten Format: Zeige fr jeden Batzen von
Unterschieden etwas aus der letzten vorangehenden Zeile, auf das
der regulre Ausdruck regaus passt.
--side-by-side
Benutze das Seite-an-Seite-Format.
--speed-large-files
Benutze Heuristiken, um die Behandlung groer Dateien, die viele
verstreute kleine nderungen haben, zu beschleunigen.
--starting-file=file
Beim Vergleich von Verzeichnissen: Beginne mit Datei datei.
Dies wird benutzt, um einen abgebrochenen Vergleich fortzuset-
zen.
--suppress-common-lines
Gib gemeinsame Zeilen im Seite-an-Seite-Format nicht aus.
-t Expandiere Tabulatoren in der Ausgabe, um die Ausrichtung der
Tabulatoren in den Eingabedateien zu erhalten.
-T Gib einen Tabulatoren an Stelle eines Leerzeichens vor dem Text
einer Zeile aus im Normal- oder Kontext-Format. Das fhrt dazu,
das die Ausrichtung von Tabulatoren in der Zeile normal
aussieht.
--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.
cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
Ein Beendigungsstatus von 0 bedeutet, dass keine Unterschiede gefunden
wurden, 1 heit, es gab einige Unterschiede; eine 2 bedeutet rger.
GNU-Werkzeuge 22. Sep 1993 DIFF(1)