Imported tab->space correction by redhat
[infodrom/manpages-de] / man1 / diff.1
1 .\" Translated March 2001 by Michael Piefel <piefel@informatik.hu-berlin.de>
2 .TH DIFF 1 "22. Sep 1993" "GNU-Werkzeuge"
3 .SH "NAME"
4 diff \- finde Unterschiede zwischen zwei Dateien
5 .SH "ÜBERSICHT"
6 .B diff
7 \fI[option]...\fR \fIVon-Datei\fR \fINach-Datei\fR
8 .SH "BESCHREIBUNG"
9 Im einfachsten Fall vergleicht
10 .B diff
11 den Inhalt zweier Dateien,
12 .I Von-Datei
13 und
14 .IR Nach-Datei .
15 Ein Dateiname
16 .B \-
17 steht für von der Standardeingabe gelesenen Text.  Als Spezialfall vergleicht
18 .B "diff \- \-"
19 eine Kopie der Standardeingabe mit sich selbst.
20
21 Wenn
22 .I Von-Datei
23 ein Verzeichnis ist und
24 .I Nach-Datei
25 nicht, dann vergleicht
26 .B diff
27 die Datei in
28 .IR Von-Datei ,
29 deren Dateiname der von 
30 .I Nach-Datei
31 ist und umgekehrt.
32 Die Nicht-Verzeichnis-Datei darf nicht
33 .B \-
34 sein.
35
36 Sind sowohl
37 .I Von-Datei
38 als auch
39 .I Nach-Datei
40 Verzeichnisse, dann vergleicht
41 .B diff
42 korrespondierende Dateien in beiden Verzeichnissen in alphabetischer Ordnung;
43 dieser Vergleich ist nicht rekursiv, wenn nicht die Option
44 .B \-r
45 oder
46 .B \-\-recursive
47 gegeben ist.
48 .B diff
49 vergleicht nie den tatsächlichen Inhalt eines Verzeichnisses, als wäre es eine
50 eine Datei.  Die Datei die voll spezifiziert ist, darf nicht die Standardeingabe
51 sein, da diese namenlos ist und damit keine Datei gleichen Namens gefunden
52 werden kann.
53
54 .BR diff -Optionen
55 beginnen mit
56 .BR \- ,
57 also dürfen normalerweise
58 .I Von-Datei
59 und
60 .I Nach-Datei
61 nicht mit
62 .B \-
63 beginnen.  Ein Argument
64 .B \-\-
65 jedoch behandelt alle folgenden Argumente als Dateinamen, selbst wenn sie mit
66 .B \-
67 beginnen.
68 .SS "Optionen"
69 Unten findet man eine Zusammenfassung aller Optionen, die GNU
70 .B diff
71 akzeptiert.
72 Die meisten Optionen haben zwei äquivalente Namen, wobei eine ein einzelner
73 Buchstabe eingeleitet mit
74 .B \-
75 ist, und die andere ein langer Namen eingeleitet mit
76 .BR \-\- .
77 Mehrere Einzelbuchstaben-Optionen können, wenn sie kein Argument nehmen, zu
78 einem einzigen Kommandozeilenwort kombiniert werden:
79 .B \-ac
80 ist äquivalent zu
81 .BR "\-a \-c" .
82 Lange Optionsnamen können zu jedem eindeutigen Präfix ihres Namens abgekürzt
83 werden.  Eckige Klammern bedeuten, dass eine Option eine optionales Argument
84 nehmen kann.
85 .TP
86 .BI \- zeilen
87 Zeige
88 .I zeilen
89 (eine ganzen Zahl) Zeilen Kontext an.  Diese Option legt selbst kein
90 Ausgabeformat fest; sie hat keinen Effekt, wenn die nicht zusammen mit
91 .B \-c
92 oder
93 .B \-u
94 benutzt wird.
95 Diese Option ist veraltet.  Um ordentlich zu funktionieren, braucht
96 .I patch
97 typischerweise mindestens zwei Zeilen Kontext.
98 .TP
99 .B \-a
100 Behandle alle Dateien als Text und vergleiche sie zeilenweise, auch wenn sie
101 nicht Text zu sein scheinen.
102 .TP
103 .B \-b
104 Ignoriere Änderungen in der Menge von Whitespace (Leerzeichen und Tabulatoren).
105 .TP
106 .B \-B
107 Ignoriere Änderungen, die nur leere Zeilen einfügen oder löschen.
108 .TP
109 .B \-\-brief
110 Melde nur, ob die Dateien sich unterscheiden, nicht die Details der
111 Unterschiede.
112 .TP
113 .B \-c
114 Benutze das Kontext-Ausgabeformat.
115 .TP
116 .BI "\-C " zeilen
117 .br
118 .ns
119 .TP
120 .BI \-\-context[= zeilen ]
121 Benutze das Kontext-Ausgabeformat, zeige
122 .I zeilen
123 (eine ganzen Zahl) Zeilen Kontext an, oder drei, wenn
124 .I zeilen
125 nicht gegeben ist.
126 Um ordentlich zu funktionieren, braucht
127 .I patch
128 typischerweise mindestens zwei Zeilen Kontext.
129 .TP
130 .BI \-\-changed\-group\-format= format
131 Nutze
132 .IR format ,
133 um eine Zeilengruppe, die sich unterscheidende Zeilen aus beiden Dateien
134 enthält, im If-then-else-Format anzuzeigen.
135 .TP
136 .B \-d
137 Ändere den Algorithmus, um vielleicht einen kleineren Satz von Änderungen zu
138 finden.  Das macht
139 .B diff
140 langsamer (manchmal viel langsamer).
141 .TP
142 .BI "\-D " name
143 Erzeuge Ausgabe im zusammengeführten If-then-else-Format, abhängig vom
144 Präprozessormakro
145 .IR name .
146 .TP
147 .B \-e
148 .br
149 .ns
150 .TP
151 .B \-\-ed
152 Erzeuge Ausgabe, die ein gültiges
153 .BR ed -Skript
154 ist.
155 .TP
156 .BI \-\-exclude= muster
157 Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unterverzeichnisse,
158 deren Basisnamen auf das
159 .I muster
160 passen.
161 .TP
162 .BI \-\-exclude\-from= datei
163 Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unterverzeichnisse,
164 deren Basisnamen auf irgendein Muster in
165 .I datei
166 passen.
167 .TP
168 .B \-\-expand\-tabs
169 Expandiere Tabulatoren in der Ausgabe, um die Ausrichtung der Tabulatoren in den
170 Eingabedateien zu erhalten.
171 .TP
172 .B \-f
173 Erzeuge Ausgabe, die vage an ein
174 .BR ed -Skript
175 erinnert, aber Änderungen in der Reihenfolge hat, in der sie in der Datei
176 auftreten.
177 .TP
178 .BI "\-F " regaus
179 Im Kontext- und vereinten Format: Zeige für jeden Batzen von Unterschieden
180 etwas aus der letzten vorangehenden Zeile, auf das der reguläre Ausdruck
181 .I regaus
182 passt.
183 .TP
184 .B \-\-forward\-ed
185 Erzeuge Ausgabe, die vage an ein
186 .BR ed -Skript
187 erinnert, aber Änderungen in der Reihenfolge hat, in der sie in der Datei
188 auftreten.
189 .TP
190 .B \-h
191 Diese Option hat momentan keine Wirkung; sie ist nur für Kompatibilität zu Unix
192 vorhanden.
193 .TP
194 .B \-H
195 Benutze Heuristiken, um die Behandlung großer Dateien, die viele verstreute
196 kleine Änderungen haben, zu beschleunigen.
197 .TP
198 .BI \-\-horizon\-lines= zeilen
199 Wirf die letzten
200 .I zeilen
201 Zeilen des gemeinsamen Präfix
202 und ersten
203 .I zeilen
204 Zeilen des gemeinsamen Suffix
205 nicht weg
206 .TP
207 .B \-i
208 Ignoriere Änderungen in Groß-/Kleinschreibung.
209 .TP
210 .BI "\-I " regaus
211 Ignoriere Änderungen, die nur Zeilen einfügen oder löschen, die
212 .I regaus
213 entsprechen.
214 .TP
215 .BI \-\-ifdef= name
216 Erzeuge Ausgabe im zusammengeführten If-then-else-Format, abhängig vom
217 Präprozessormakro
218 .IR name .
219 .TP
220 .B \-\-ignore\-all\-space
221 Ignoriere Whitespace (Leerzeichen und Tabulatoren) beim Vergleich von Zeilen.
222 .TP
223 .B \-\-ignore\-blank\-lines
224 Ignoriere Änderungen, die nur leere Zeilen einfügen oder löschen.
225 .TP
226 .B \-\-ignore\-case
227 Ignoriere Änderungen in Groß-/Kleinschreibung.
228 .TP
229 .BI \-\-ignore\-matching\-lines= regaus
230 Ignoriere Änderungen, die nur Zeilen einfügen oder löschen, die
231 .I regaus
232 entsprechen.
233 .TP
234 .B \-\-ignore\-space\-change
235 Ignoriere Änderungen in der Menge von Whitespace (Leerzeichen und Tabulatoren).
236 .TP
237 .B \-\-initial\-tab
238 Gib einen Tabulatoren an Stelle eines Leerzeichens vor dem Text einer Zeile aus
239 im Normal- oder Kontext-Format.  Das führt dazu, das die Ausrichtung von
240 Tabulatoren in der Zeile normal aussieht.
241 .TP
242 .B \-l
243 Leite die Ausgabe durch
244 .BR pr ,
245 um sie zu paginieren.
246 .TP
247 .BI "\-L " marke
248 .br
249 .ns
250 .TP
251 .BI \-\-label= marke
252 Benutze
253 .I marke
254 an Stelle des Dateinamen im Kopf von Kontext- und vereintem Format.
255 .TP
256 .B \-\-left\-column
257 Drucke nur die linke Spalte von zwei gemeinsamen Zeilen im
258 Seite-an-Seite-Format.
259 .TP
260 .BI \-\-line\-format= format
261 Nutze
262 .IR format ,
263 um alle Eingabezeilen im If-then-else-Format anzuzeigen.
264 .TP
265 .B \-\-minimal
266 Ändere den Algorithmus, um vielleicht einen kleineren Satz von Änderungen zu
267 finden.  Das macht
268 .B diff
269 langsamer (manchmal viel langsamer).
270 .TP
271 .B \-n
272 Gib Unterschiede im RCS-Format aus; wie
273 .BR \-f ,
274 nur das jedes Kommando die Zahl der betroffenen Zeilen angibt.
275 .TP
276 .B \-N
277 .br
278 .ns
279 .TP
280 .B \-\-new\-file
281 Beim Vergleich von Verzeichnissen: Wenn eine Datei nur in einem Verzeichnis
282 gefunden wird, behandle sie als vorhanden aber leer im anderem Verzeichnis.
283 .TP
284 .BI \-\-new\-group\-format= format
285 Nutze
286 .IR format ,
287 um eine Gruppe von Zeilen aus der zweiten Datei im If-then-else-Format
288 auszugeben.
289 .TP
290 .BI \-\-new\-line\-format= format
291 Nutze
292 .IR format ,
293 um eine Zeile aus der zweiten Datei im If-then-else-Format
294 auszugeben.
295 .TP
296 .BI \-\-old\-group\-format= format
297 Nutze
298 .IR format ,
299 um eine Gruppe von Zeilen aus der ersten Datei im If-then-else-Format
300 auszugeben.
301 .TP
302 .BI \-\-old\-line\-format= format
303 Nutze
304 .IR format ,
305 um eine Zeile aus der ersten Datei im If-then-else-Format
306 auszugeben.
307 .TP
308 .B \-p
309 Zeige für jede Änderung, in welcher C-Funktion sie ist.
310 .TP
311 .B \-P
312 Beim Vergleich von Verzeichnissen: Wenn eine Datei nur im zweiten der beiden
313 Verzeichnisse gefunden wird, behandle sie als vorhanden aber leer im anderem
314 Verzeichnis.
315 .TP
316 .B \-\-paginate
317 Leite die Ausgabe durch
318 .BR pr ,
319 um sie zu paginieren.
320 .TP
321 .B \-q
322 Melde nur, ob die Dateien sich unterscheiden, nicht die Details der
323 Unterschiede.
324 .TP
325 .B \-r
326 Beim Vergleich von Verzeichnissen: Vergleiche jegliche Unterverzeichnisse
327 rekursiv.
328 .TP
329 .B \-\-rcs
330 Gib Unterschiede im RCS-Format aus; wie
331 .BR \-f ,
332 nur das jedes Kommando die Zahl der betroffenen Zeilen angibt.
333 .TP
334 .B \-\-recursive
335 Beim Vergleich von Verzeichnissen: Vergleiche jegliche Unterverzeichnisse
336 rekursiv.
337 .TP
338 .B \-\-report\-identical\-files
339 .br
340 .ns
341 .TP
342 .B \-s
343 Melde, wenn zwei Dateien gleich sind.
344 .TP
345 .BI "\-S " datei
346 Beim Vergleich von Verzeichnissen: Beginne mit Datei
347 .IR datei .
348 Dies wird benutzt, um einen abgebrochenen Vergleich fortzusetzen.
349 .TP
350 .B \-\-sdiff\-merge\-assist
351 Gib zusätzliche Informationen aus, um
352 .B sdiff
353 zu helfen.
354 .B sdiff
355 benutzt diese, wenn es
356 .B diff aufruft.
357 Diese Option ist nicht dazu bestimmt, von Nutzern
358 direkt aufgerufen zu werden.
359 .TP
360 .B \-\-show\-c\-function
361 Zeige für jede Änderung, in welcher C-Funktion sie ist.
362 .TP
363 .BI \-\-show\-function\-line= regaus
364 Im Kontext- und vereinten Format: Zeige für jeden Batzen von Unterschieden
365 etwas aus der letzten vorangehenden Zeile, auf das der reguläre Ausdruck
366 .I regaus
367 passt.
368 .TP
369 .B \-\-side\-by\-side
370 Benutze das Seite-an-Seite-Format.
371 .TP
372 .B \-\-speed\-large\-files
373 Benutze Heuristiken, um die Behandlung großer Dateien, die viele verstreute
374 kleine Änderungen haben, zu beschleunigen.
375 .TP
376 .BI \-\-starting\-file= file
377 Beim Vergleich von Verzeichnissen: Beginne mit Datei
378 .IR datei .
379 Dies wird benutzt, um einen abgebrochenen Vergleich fortzusetzen.
380 .TP
381 .B \-\-suppress\-common\-lines
382 Gib gemeinsame Zeilen im Seite-an-Seite-Format nicht aus.
383 .TP
384 .B \-t
385 Expandiere Tabulatoren in der Ausgabe, um die Ausrichtung der Tabulatoren in den
386 Eingabedateien zu erhalten.
387 .TP
388 .B \-T
389 Gib einen Tabulatoren an Stelle eines Leerzeichens vor dem Text einer Zeile aus
390 im Normal- oder Kontext-Format.  Das führt dazu, das die Ausrichtung von
391 Tabulatoren in der Zeile normal aussieht.
392 .TP
393 .B \-\-text
394 Behandle alle Dateien als Text und vergleiche sie zeilenweise, auch wenn sie
395 nicht Text zu sein scheinen.
396 .TP
397 .B \-u
398 Benutze das vereinte Ausgabeformat.
399 .TP
400 .BI \-\-unchanged\-group\-format= format
401 Nutze
402 .IR format,
403 um eine Gruppe von gemeinsamen Zeilen aus beiden Dateien im If-then-else-Format
404 auszugeben.
405 .TP
406 .BI \-\-unchanged\-line\-format= format
407 Nutze
408 .IR format,
409 um im If-then-else-Format eine Zeile, die in beiden Dateien auftritt,
410 auszugeben.
411 .TP
412 .B \-\-unidirectional\-new\-file
413 Beim Vergleich von Verzeichnissen: Wenn eine Datei nur im zweiten der beiden
414 Verzeichnisse gefunden wird, behandle sie als vorhanden aber leer im anderem
415 Verzeichnis.
416 .TP
417 .BI "\-U " lines
418 .br
419 .ns
420 .TP
421 .BI \-\-unified[= zeilen ]
422 Benutzt das vereinte Ausgabeformat, zeige dabei
423 .I zeilen
424 (eine ganze Zahl) Zeilen
425 Kontext, oder drei wenn
426 .I zeilen
427 nicht gegeben ist.
428 Um ordentlich zu funktionieren, braucht
429 .I patch
430 typischerweise mindestens zwei Zeilen Kontext.
431 .TP
432 .B \-v
433 .br
434 .ns
435 .TP
436 .B \-\-version
437 Gib die Versionsnummer von
438 .B diff
439 aus.
440 .TP
441 .B \-w
442 Ignoriere Whitespace (Leerzeichen und Tabulatoren) beim Vergleich von Zeilen.
443 .TP
444 .BI "\-W " spalten
445 .br
446 .ns
447 .TP
448 .BI \-\-width= spalten
449 Benutze eine Ausgabebreite von
450 .I spalten
451 Spalten im Seite-an-Seite-Format.
452 .TP
453 .BI "\-x " muster
454 Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unterverzeichnisse,
455 deren Basisnamen auf das
456 .I muster
457 passen.
458 .TP
459 .BI "\-X " datei
460 Beim Vergleich von Verzeichnissen: Ignoriere Dateien und Unterverzeichnisse,
461 deren Basisnamen auf irgendein Muster in
462 .I datei
463 passen.
464 .TP
465 .B \-y
466 Benutze das Seite-an-Seite-Format.
467 .SH "SIEHE AUCH"
468 .BR cmp (1),
469 .BR comm (1),
470 .BR diff3 (1),
471 .BR ed (1),
472 .BR patch (1),
473 .BR pr (1),
474 .BR sdiff (1).
475 .SH "DIAGNOSE"
476 Ein Beendigungsstatus von 0 bedeutet, dass keine Unterschiede gefunden wurden, 1
477 heißt, es gab einige Unterschiede; eine 2 bedeutet Ärger.
478