tail head cat sleep
QR code linking to this page

Manpage  — DIFF

NAME

diff - finde Unterschiede zwischen zwei Dateien

INHALT

Ü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 oderr -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) [Englisch], ed(1) [Englisch], patch(1) [Englisch], pr(1), sdiff(1) [Englisch].

DIAGNOSE

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


22. Sep 1993 DIFF (1) GNU-Werkzeuge

tail head cat sleep
QR code linking to this page


Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.