Available in

(1) (1)/cs (1)/de (1)/es (1)/fr (1)/it (1)/ja (1)/ko (1)/nl (1)/pl (1)/pt (1)/ru (1)/tr (1)/zh_cn (1)/zh_tw

Contents

NAME

diff − finde Unterschiede zwischen zwei Dateien

ÜBERSICHT

diff [option]... Von-Datei Nach-Datei

Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie die englischsprachige Handbuchseite zu Rate, indem Sie

man -LC 1 diff

eingeben.

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.

COMMENTS

blog comments powered by Disqus