diff

Autres langues

Langue: de

Version: 22. Sep 1993 (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)

NAME

diff - finde Unterschiede zwischen zwei Dateien

Ü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 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 vergleicht 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 vergleicht diff korrespondierende Dateien in beiden Verzeichnissen in alphabetischer 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 Kommandozeilenwort 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.
--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 typischerweise mindestens zwei Zeilen Kontext.
--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 Unterverzeichnisse, deren Basisnamen auf das muster passen.
--exclude-from=datei
Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unterverzeichnisse, 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 Kompatibilitä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
-i
Ignoriere Änderungen in Groß-/Kleinschreibung.
-I regaus
Ignoriere Änderungen, die nur Zeilen einfügen oder löschen, die regaus entsprechen.
--ifdef=name
Erzeuge Ausgabe im zusammengeführten If-then-else-Format, abhängig vom Präprozessormakro name.
--ignore-all-space
Ignoriere Whitespace (Leerzeichen und Tabulatoren) beim Vergleich von Zeilen.
--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 Kommando 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 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 Unterverzeichnisse rekursiv.
--rcs
Gib Unterschiede im RCS-Format aus; wie -f, nur das jedes Kommando die Zahl der betroffenen Zeilen angibt.
--recursive
Beim Vergleich von Verzeichnissen: Vergleiche jegliche Unterverzeichnisse 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 fortzusetzen.
--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
Beim Vergleich von Verzeichnissen: Beginne mit Datei datei. Dies wird benutzt, um einen abgebrochenen Vergleich fortzusetzen.
--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 führt 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 beiden 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 typischerweise mindestens zwei Zeilen Kontext.
-v

--version
Gib die Versionsnummer von diff aus.
-w
Ignoriere Whitespace (Leerzeichen und Tabulatoren) beim Vergleich 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 Unterverzeichnisse, deren Basisnamen auf das muster passen.
-X datei
Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unterverzeichnisse, 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).

DIAGNOSE

Ein Beendigungsstatus von 0 bedeutet, dass keine Unterschiede gefunden wurden, 1 heißt, es gab einige Unterschiede; eine 2 bedeutet Ärger.