summaryrefslogtreecommitdiff
path: root/man/de/man1/dos2unix.htm
blob: c4a39a53d9e78433825068f0497f6bed87dc4c04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>dos2unix 6.0.5 - Formatumwandlung für Textdateien von DOS/Mac nach Unix und umgekehrt</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body style="background-color: white">



<ul id="index">
  <li><a href="#BEZEICHNUNG">BEZEICHNUNG</a></li>
  <li><a href="#BERSICHT">&Uuml;BERSICHT</a></li>
  <li><a href="#BESCHREIBUNG">BESCHREIBUNG</a></li>
  <li><a href="#OPTIONEN">OPTIONEN</a></li>
  <li><a href="#MAC-MODUS">MAC-MODUS</a></li>
  <li><a href="#UMWANDLUNGSMODI">UMWANDLUNGSMODI</a></li>
  <li><a href="#UNICODE">UNICODE</a>
    <ul>
      <li><a href="#Zeichenkodierungen">Zeichenkodierungen</a></li>
      <li><a href="#Umwandlung">Umwandlung</a></li>
      <li><a href="#Markierung-der-Bytereihenfolge">Markierung der Bytereihenfolge</a></li>
      <li><a href="#Unicode-Beispiele">Unicode-Beispiele</a></li>
    </ul>
  </li>
  <li><a href="#BEISPIELE">BEISPIELE</a></li>
  <li><a href="#REKURSIVE-UMWANDLUNG">REKURSIVE UMWANDLUNG</a></li>
  <li><a href="#LOKALISIERUNG">LOKALISIERUNG</a></li>
  <li><a href="#RCKGABEWERT">R&Uuml;CKGABEWERT</a></li>
  <li><a href="#STANDARDS">STANDARDS</a></li>
  <li><a href="#AUTOREN">AUTOREN</a></li>
  <li><a href="#SIEHE-AUCH">SIEHE AUCH</a></li>
</ul>

<h1 id="BEZEICHNUNG">BEZEICHNUNG</h1>

<p>dos2unix - Formatumwandlung f&uuml;r Textdateien von DOS/Mac nach Unix und umgekehrt</p>

<h1 id="BERSICHT">&Uuml;BERSICHT</h1>

<pre><code>    dos2unix [Optionen] [DATEI &hellip;] [-n EINGABEDATEI AUSGABEDATEI &hellip;]
    unix2dos [Optionen] [DATEI &hellip;] [-n EINGABEDATEI AUSGABEDATEI &hellip;]</code></pre>

<h1 id="BESCHREIBUNG">BESCHREIBUNG</h1>

<p>Das Paket Dos2unix enth&auml;lt die Werkzeuge <code>dos2unix</code> und <code>unix2dos</code> zum Umwandeln einfacher Textdateien aus dem DOS- oder Mac-Format in das Unix-Format und umgekehrt.</p>

<p>In Textdateien unter DOS/Windows sind Zeilenumbr&uuml;che, auch als neue Zeile (NL) bekannt, eine Kombination aus zwei Zeichen: einem Wagenr&uuml;cklauf (Carriage Return, CR) gefolgt von einem Zeilenvorschub (Line Feed, LF). In Unix-Textdateien bestehen Zeilenumbr&uuml;che nur aus einem Zeichen, dem Zeilenvorschub (LF). In Mac-Textdateien aus der Zeit vor MacOSX bestand ein Zeilenumbruch aus einem einzelnen CR-Zeichen. Heute verwendet Mac OS Zeilenumbr&uuml;che im Unix-Stil (LF).</p>

<p>Neben Zeilenumbr&uuml;chen kann Dos2unix auch die Zeichenkodierung von Dateien umwandeln. Einige DOS-Codepages k&ouml;nnen in Unix Latin-1 umgewandelt werden, und Windows-Unicode-Dateien (UTF-16) k&ouml;nnen in Unix-Unicode-Dateien (UTF-8) umgewandelt werden.</p>

<p>Bin&auml;rdateien werden automatisch &uuml;bersprungen, sofern die Umwandlung nicht erzwungen wird.</p>

<p>Nicht-regul&auml;re Dateien, wie Verzeichnisse und FIFOS (Weiterleitungen) werden automatisch &uuml;bersprungen.</p>

<p>Symbolische Links und deren Ziele werden per Vorgabe unver&auml;ndert belassen. Symbolische Links k&ouml;nnen optional ersetzt werden, oder die Ausgabe wird in das Ziel des symbolischen Links geschrieben. Unter Windows wird das Schreiben in das Ziele eines symbolischen Links nicht unterst&uuml;tzt.</p>

<p>Dos2unix wurde nach dem Vorbild der dos2unix-Version unter SunOS/Solaris entwickelt, doch es gitb einen wesentlichen Unterschied zu: Diese Version ersetzt per Vorgabe Dateien bei der Umwandlung (Alte-Datei-Modus), w&auml;hrend unter SunOS/Solaris nur die paarweise Umwandlung (Neue-Datei-Modus) unterst&uuml;tzt wird. Siehe dazu die Optionen <code>-o</code> und <code>-n</code>.</p>

<h1 id="OPTIONEN">OPTIONEN</h1>

<dl>

<dt id="pod--"><b>--</b></dt>
<dd>

<p>nimmt alle folgenden Optionen als Dateinamen an. Verwenden Sie diese Option, wenn Sie Dateien umwandeln wollen, deren Namen mit einem Minuszeichen beginnen. Um beispielsweise eine Datei namens &raquo;-bla&laquo; umzuwandeln, k&ouml;nnen Sie folgenden Befehl verwenden:</p>

<pre><code>    dos2unix -- -bla</code></pre>

<p>oder im Neue-Datei-Modus:</p>

<pre><code>    dos2unix -n -- -bla ausgabe.txt</code></pre>

</dd>
<dt id="ascii"><b>-ascii</b></dt>
<dd>

<p>wandelt nur Zeilenumbr&uuml;che um. Dies ist der vorgegebene Umwandlungsmodus.</p>

</dd>
<dt id="iso"><b>-iso</b></dt>
<dd>

<p>wandelt aus dem DOS- in den ISO-8859-1-Zeichensatz um. Weitere Informationen hierzu finden Sie im Abschnitt UMWANDLUNGSMODI.</p>

</dd>
<dt id="pod-1252"><b>-1252</b></dt>
<dd>

<p>verwendet die Windows-Codepage 1252 (Westeurop&auml;isch).</p>

</dd>
<dt id="pod-437"><b>-437</b></dt>
<dd>

<p>verwendet die DOS-Codepage 437 (US). Dies ist die vorgegebene Codepage f&uuml;r die ISO-Umwandlung.</p>

</dd>
<dt id="pod-850"><b>-850</b></dt>
<dd>

<p>verwendet die DOS-Codepage 850 (Westeurop&auml;isch).</p>

</dd>
<dt id="pod-860"><b>-860</b></dt>
<dd>

<p>verwendet die DOS-Codepage 860 (Portugiesisch).</p>

</dd>
<dt id="pod-863"><b>-863</b></dt>
<dd>

<p>verwendet die DOS-Codepage 863 (Kanadisches Franz&ouml;sisch).</p>

</dd>
<dt id="pod-865"><b>-865</b></dt>
<dd>

<p>verwendet die DOS-Codepage 865 (Skandinavisch).</p>

</dd>
<dt id="pod-7"><b>-7</b></dt>
<dd>

<p>wandelt 8bit-Zeichen in ein 7bit-Bitmuster um.</p>

</dd>
<dt id="c---convmode-UMWANDLUNGSMODUS"><b>-c, --convmode UMWANDLUNGSMODUS</b></dt>
<dd>

<p>legt den Umwandlungsmodus fest. UMWANDLUNGSMODUS kann <i>ascii</i>, <i>7bit</i>, <i>iso</i> oder <i>mac</i> sein, wobei <i>ascii</i> die Vorgabe ist.</p>

</dd>
<dt id="f---force"><b>-f, --force</b></dt>
<dd>

<p>erzwingt die Umwandlung von Bin&auml;rdateien.</p>

</dd>
<dt id="h---help"><b>-h, --help</b></dt>
<dd>

<p>zeigt eine Hilfe an und beendet das Programm.</p>

</dd>
<dt id="k---keepdate"><b>-k, --keepdate</b></dt>
<dd>

<p>&uuml;bernimmt den Zeitstempel der Eingabedatei in die Ausgabedatei.</p>

</dd>
<dt id="L---license"><b>-L, --license</b></dt>
<dd>

<p>zeigt die Lizenz des Programms an.</p>

</dd>
<dt id="l---newline"><b>-l, --newline</b></dt>
<dd>

<p>f&uuml;gt eine zus&auml;tzliche neue Zeile hinzu.</p>

<p><b>dos2unix</b>: Nur DOS-Zeilenumbr&uuml;che werden in Unix-Zeilenumbr&uuml;che umgewandelt. Im Mac-Modus werden nur Mac-Zeilenumbr&uuml;che in Unix-Zeilenumbr&uuml;che umgewandelt.</p>

<p><b>unix2dos</b>: Nur Unix-Zeilenumbr&uuml;che werden in DOS-Zeilenumbr&uuml;che umgewandelt. Im Mac-Modus werden nur Unix-Zeilenumbr&uuml;che in Mac-Zeilenumbr&uuml;che umgewandelt.</p>

</dd>
<dt id="m---add-bom"><b>-m, --add-bom</b></dt>
<dd>

<p>schreibt eine UTF-Markierung der Bytereihenfolge in die Ausgabedatei. Verwenden Sie diese Option niemals, wenn die Kodierung der Ausgabedatei nicht UTF-8 ist. Weitere Informationen finden Sie im Abschnitt UNICODE.</p>

</dd>
<dt id="n---newfile-EINGABEDATEI-AUSGABEDATEI"><b>-n, --newfile EINGABEDATEI AUSGABEDATEI &hellip;</b></dt>
<dd>

<p>Neue-Datei-Modus. Die EINGABEDATEI wird umgewandelt und in die AUSGABEDATEI geschrieben. Die Dateinamen m&uuml;ssen paarweise angegeben werden. Platzhalter sollten <i>nicht</i> verwendet werden, sonst werden Sie Ihre Dateien <i>verlieren</i>.</p>

<p>Der Benutzer, der die Umwandlung im Neue-Datei-Modus startet, wird Besitzer der umgewandelten Datei. Die Lese- und Schreibrechte werden aus den Zugriffsrechten der Originaldatei minus der umask(1) der Person ermittelt, die die Umwandlung ausgef&uuml;hrt hat.</p>

</dd>
<dt id="o---oldfile-DATEI"><b>-o, --oldfile DATEI &hellip;</b></dt>
<dd>

<p>Alte-Datei-Modus. Die DATEI wird umgewandelt und durch die Ausgabedatei &uuml;berschrieben. Per Vorgabe werden Umwandlungen in diesem Modus ausgef&uuml;hrt. Platzhalter sind verwendbar.</p>

<p>Im Alte-Datei-Modus (Ersetzungsmodus) erhalten die umgewandelten Dateien den gleichen Eigent&uuml;mer, die gleiche Gruppe und die gleichen Lese- und Schreibberechtigungen wie die Originaldatei, auch wenn die Datei von einem anderen Benutzer umgewandelt wird, der Schreibrechte f&uuml;r die Datei hat (zum Beispiel der Systemadministrator). Die Umwandlung wird abgebrochen, wenn es nicht m&ouml;glich ist, die originalen Werte beizubehalten. Die &Auml;nderung des Eigent&uuml;mers k&ouml;nnte zum Beispiel bewirken, dass der urspr&uuml;ngliche Eigent&uuml;mer die Datei nicht mehr lesen kann. Die &Auml;nderung der Gruppe k&ouml;nnte ein Sicherheitsrisiko sein, da die Datei vielleicht f&uuml;r Benutzer lesbar wird, f&uuml;r die sie nicht bestimmt ist. Die Beibehaltung von Eigent&uuml;mer, Gruppe und Schreib- und Leserechten wird nur unter Unix unterst&uuml;tzt.</p>

</dd>
<dt id="q---quiet"><b>-q, --quiet</b></dt>
<dd>

<p>Stiller Modus, in dem alle Warnungen und sonstige Meldungen unterdr&uuml;ckt werden. Der R&uuml;ckgabewert ist 0, au&szlig;er wenn fehlerhafte Befehlszeilenoptionen angegeben werden.</p>

</dd>
<dt id="s---safe"><b>-s, --safe</b></dt>
<dd>

<p>&uuml;berspringt Bin&auml;rdateien (Vorgabe).</p>

</dd>
<dt id="ul---assume-utf16le"><b>-ul, --assume-utf16le</b></dt>
<dd>

<p>nimmt an, dass die Eingabedatei das Format UTF-16LE hat.</p>

<p>Wenn die Eingabedatei eine Markierung der Bytereihenfolge enth&auml;lt (BOM), dann hat die BOM Vorrang vor dieser Option.</p>

<p>Durch eine falsche Annahme (die Eingabedatei war nicht in UTF-16LE kodiert) mit erfolgreicher Umwandlung erhalten Sie eine UTF-8-Ausgabedatei mit fehlerhaftem Text. Sie k&ouml;nnen die fehlgeschlagene Umwandlung mit iconv(1) r&uuml;ckg&auml;ngig machen, indem Sie die R&uuml;ckumwandlung von UTF-8 nach UTF-16LE vornehmen. Dadurch gewinnen Sie die Originaldatei zur&uuml;ck.</p>

<p>Die Annahme von UTF-16LE wirkt wie ein <i>Umwandlungsmodus</i>. Beim Wechsel zum vorgegebenen <i>ascii</i>-Modus wird die UTF16LE-Annahme deaktiviert.</p>

</dd>
<dt id="ub---assume-utf16be"><b>-ub, --assume-utf16be</b></dt>
<dd>

<p>nimmt an, dass die Eingabedatei das Format UTF-16BE hat.</p>

<p>Diese Option ist gleichbedeutend mit <code>-ul</code>.</p>

</dd>
<dt id="F---follow-symlink"><b>-F, --follow-symlink</b></dt>
<dd>

<p>folgt symbolischen Links und wandelt die Zieldateien um.</p>

</dd>
<dt id="R---replace-symlink"><b>-R, --replace-symlink</b></dt>
<dd>

<p>ersetzt symbolische Links durch die umgewandelten Dateien (die originalen Zieldateien bleiben unver&auml;ndert).</p>

</dd>
<dt id="S---skip-symlink"><b>-S, --skip-symlink</b></dt>
<dd>

<p>erh&auml;lt symbolische Links als solche und l&auml;sst die Ziele unver&auml;ndert (Vorgabe).</p>

</dd>
<dt id="V---version"><b>-V, --version</b></dt>
<dd>

<p>zeigt Versionsinformationen an und beendet das Programm.</p>

</dd>
</dl>

<h1 id="MAC-MODUS">MAC-MODUS</h1>

<p>Im Normalmodus werden Zeilenumbr&uuml;che von DOS nach Unix und umgekehrt umgewandelt. Mac-Zeilenumbr&uuml;che werden nicht ver&auml;ndert.</p>

<p>Im Mac-Modus werden Zeilenumbr&uuml;che von Mac nach Unix und umgekehrt umgewandelt. DOS-Zeilenumbr&uuml;che werden nicht ver&auml;ndert.</p>

<p>Um das Programm im Mac-Modus auszuf&uuml;hren, verwenden Sie die Befehlszeilenoption <code>-c mac</code> oder die Befehle <code>mac2unix</code> oder <code>unix2mac</code>.</p>

<h1 id="UMWANDLUNGSMODI">UMWANDLUNGSMODI</h1>

<dl>

<dt id="ascii1"><b>ascii</b></dt>
<dd>

<p>Im <code>ascii</code>-Modus werden nur Zeilenumbr&uuml;che umgewandelt. Dies ist der vorgegebene Umwandlungsmodus.</p>

<p>Obwohl der Name dieses Modus auf ASCII hinweist, welches ein 7-bit-Standard ist, bezieht sich der eigentliche Modus auf 8 Bit. Verwenden Sie diesen Modus immer dann, wenn Sie Unicode-Dateien in UTF-8-Kodierung umwandeln.</p>

</dd>
<dt id="bit"><b>7bit</b></dt>
<dd>

<p>In diesem Modus werden alle Nicht-ASCII-Zeichen aus 8 Bit in das 7-Bit-Bitmuster umgewandelt.</p>

</dd>
<dt id="iso1"><b>iso</b></dt>
<dd>

<p>Die Zeichen werden aus dem DOS-Zeichensatz (der Codepage) in den ISO-Zeichensatz ISO-8859-1 (Latin-1) in Unix umgewandelt. DOS-Zeichen ohne &Auml;quivalent in ISO-8859-1, f&uuml;r die die Umwandlung nicht m&ouml;glich ist, werden durch einen Punkt ersetzt. Gleiches gilt f&uuml;r ISO-8859-1-Zeichen ohne DOS-Gegenst&uuml;ck.</p>

<p>Wenn nur die Option <code>-iso</code> angegeben ist, versucht dos2unix die aktive Codepage selbst zu ermitteln. Sollte dies nicht m&ouml;glich sein, wird die Standard-Codepage CP437 verwendet, welche haupts&auml;chlich in den USA eingesetzt wird. Um eine bestimmte Codepage zu erzwingen, verwenden Sie die Optionen <code>-437</code> (US), <code>-850</code> (Westeurop&auml;isch), <code>-860</code> (Portugiesisch), <code>-863</code> (Kanadisches Franz&ouml;sisch) oder <code>-865</code> (Skandinavisch). Die Windows-Codepage CP1252 (Westeurop&auml;isch) wird durch die Option <code>-1252</code> unterst&uuml;tzt.</p>

<p>Wenden Sie niemals die ISO-Umwandlung auf Unicode-Textdateien an. In UTF-8 kodierte Dateien werden dadurch besch&auml;digt.</p>

<p>Einige Beispiele:</p>

<p>Umwandlung aus der vorgegebenen DOS-Codepage nach Unix Latin-1</p>

<pre><code>    dos2unix -iso -n in.txt ausgabe.txt</code></pre>

<p>Umwandlung von DOS CP850 nach Unix Latin-1</p>

<pre><code>    dos2unix -850 -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Windows CP1252 nach Unix Latin-1</p>

<pre><code>    dos2unix -1252 -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Windows CP1252 nach Unix UTF-8 (Unicode)</p>

<pre><code>    iconv -f CP1252 -t UTF-8 eingabe.txt | dos2unix &gt; ausgabe.txt</code></pre>

<p>Umwandlung von Unix Latin-1 in die vorgegebene DOS-Codepage</p>

<pre><code>    unix2dos -iso -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Unix Latin-1 nach DOS CP850</p>

<pre><code>    unix2dos -850 -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Unix Latin-1 nach Windows CP1252</p>

<pre><code>    unix2dos -1252 -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Unix UTF-8 (Unicode) nach Windows CP1252</p>

<pre><code>    unix2dos &lt; eingabe.txt | iconv -f UTF-8 -t CP1252 &gt; ausgabe.txt</code></pre>

<p>Siehe auch <a href="http://czyborra.com/charsets/codepages.html">http://czyborra.com/charsets/codepages.html</a> und <a href="http://czyborra.com/charsets/iso8859.html">http://czyborra.com/charsets/iso8859.html</a>.</p>

</dd>
</dl>

<h1 id="UNICODE">UNICODE</h1>

<h2 id="Zeichenkodierungen">Zeichenkodierungen</h2>

<p>Es gibt verschiedene Unicode-Zeichenkodierungen. Unter Unix und Linux sind Unicode-Dateien typischerweise in UTF-8 kodiert. Unter Windows k&ouml;nnen Textdateien in UTF-8, UTF-16 oder UTF-16 in Big-Endian-Bytereihenfolge kodiert sein, liegen aber meist im Format UTF-16 vor.</p>

<h2 id="Umwandlung">Umwandlung</h2>

<p>Unicode-Textdateien k&ouml;nnen DOS-, Unix- oder Mac-Zeilenumbr&uuml;che enthalten, so wie regul&auml;re Textdateien.</p>

<p>Alle Versionen von dos2unix und unix2dos k&ouml;nnen UTF-8-kodierte Dateien umwandeln, weil UTF-8 im Hinblick auf Abw&auml;rtskompatiblit&auml;t mit ASCII entwickelt wurde.</p>

<p>Dos2unix und unix2dos mit Unterst&uuml;tzung f&uuml;r UTF-16 k&ouml;nnen in UTF-16 kodierte Dateien in Little-Endian- und Big-Endian-Bytereihenfolge lesen. Um festzustellen, ob dos2unix mit UTF-16-Unterst&uuml;tzung kompiliert wurde, geben Sie <code>dos2unix -V</code> ein.</p>

<p>Die Windows-Versionen von dos2unix und unix2dos wandeln UTF-16-kodierte Dateien stets in UTF-8-Dateien um. Die entsprechenden Unix-Versionen wandeln UTF-16-kodierte Dateien in die lokale Zeichenkodierung um, falls diese nicht auf UTF-8 gesetzt ist. Verwenden Sie den Befehl locale(1), um die lokale Zeichenkodierung zu ermitteln.</p>

<p>Da in UTF-8 formatierte Textdateien sowohl unter Windows als auch unter Unix gut unterst&uuml;tzt werden, haben dos2unix und unix2dos keine Option zum Schreiben von UTF-16-Dateien. Alle UTF-16-Zeichen k&ouml;nnen verlustlos in UTF-8 kodiert werden. UTF-16-Dateien werden unter Unix &uuml;bersprungen, wenn die lokale Zeichenkodierung nicht UTF-8 ist, um unbeabsichtigte Verluste von Textteilen zu verhindern. Wenn eine Umwandlung von UTF-16 nach UTF-8 Fehlermeldungen verursacht, zum Beispiel die UTF-16-Eingabedatei einen Fehler enth&auml;lt, dann wird diese Datei &uuml;bersprungen.</p>

<p>Umwandlungen im ISO- und 7bit-Modus funktionieren mit UTF-16-Dateien nicht.</p>

<h2 id="Markierung-der-Bytereihenfolge">Markierung der Bytereihenfolge</h2>

<p>Unicode-Textdateien unter Windows haben typischerweise eine Markierung der Bytereihenfolge (BOM), da viele Windows-Programme (zum Beispiel Notepad) solche BOMs standardm&auml;&szlig;ig hinzuf&uuml;gen. Weitere Informationen hierzu finden Sie auf <a href="http://de.wikipedia.org/wiki/Byte-Reihenfolge">http://de.wikipedia.org/wiki/Byte-Reihenfolge</a>.</p>

<p>Unter Unix haben Textdateien &uuml;blicherweise keine BOM. Es wird stattdessen angenommen, dass Textdateien in der Zeichenkodierung entsprechend der Spracheinstellung vorliegen.</p>

<p>Dos2unix kann nur dann erkennen, ob eine Datei UTF-16-kodiert ist, wenn die Datei eine BOM enth&auml;lt. Ist dies nicht der Fall, nimmt dos2unix an, dass es sich um eine Bin&auml;rdatei handelt.</p>

<p>Verwenden Sie die Optionen <code>-ul</code> oder <code>-ub</code>, um eine UTF-16-Datei ohne BOM umzuwandeln.</p>

<p>Dos2unix schreibt nur dann eine BOM in die Ausgabedatei, wenn Sie die Option <code>-m</code> angeben.</p>

<p>Unix2dos schreibt eine BOM in die Ausgabedatei, wenn die Eingabedatei ebenfalls eine solche Markierung hat, oder wenn die Option <code>-m</code> angegeben ist.</p>

<h2 id="Unicode-Beispiele">Unicode-Beispiele</h2>

<p>Umwandlung von Windows UTF-16 (mit BOM) nach Unix UTF-8</p>

<pre><code>    dos2unix -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Windows UTF-16LE (ohne BOM) nach Unix UTF-8</p>

<pre><code>    dos2unix -ul -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Unix UTF-8 nach Windows UTF-8 mit BOM</p>

<pre><code>    unix2dos -m -n eingabe.txt ausgabe.txt</code></pre>

<p>Umwandlung von Unix UTF-8 nach Windows UTF-16</p>

<pre><code>    unix2dos &lt; eingabe.txt | iconv -f UTF-8 -t UTF-16 &gt; ausgabe.txt</code></pre>

<h1 id="BEISPIELE">BEISPIELE</h1>

<p>Aus der Standardeingabe lesen und in die Standardausgabe schreiben:</p>

<pre><code>    dos2unix
    dos2unix -l -c mac</code></pre>

<p>a.txt umwandeln und ersetzen, b.txt umwandeln und ersetzen:</p>

<pre><code>    dos2unix a.txt b.txt
    dos2unix -o a.txt b.txt</code></pre>

<p>a.txt im ascii-Modus umwandeln und ersetzen:</p>

<pre><code>    dos2unix a.txt</code></pre>

<p>a.txt im ascii-Modus umwandeln und ersetzen, b.txt im 7bit-Modus umwandeln und ersetzen:</p>

<pre><code>    dos2unix a.txt -c 7bit b.txt
    dos2unix -c ascii a.txt -c 7bit b.txt
    dos2unix -ascii a.txt -7 b.txt</code></pre>

<p>a.txt aus dem Mac- in das Unix-Format umwandeln:</p>

<pre><code>    dos2unix -c mac a.txt
    mac2unix a.txt</code></pre>

<p>a.txt aus dem Unix- in das Mac-Format umwandeln:</p>

<pre><code>    unix2dos -c mac a.txt
    unix2mac a.txt</code></pre>

<p>a.txt unter Beibehaltung des Zeitstempels umwandeln:</p>

<pre><code>    dos2unix -k a.txt
    dos2unix -k -o a.txt</code></pre>

<p>a.txt umwandeln und das Ergebnis nach e.txt schreiben:</p>

<pre><code>    dos2unix -n a.txt e.txt</code></pre>

<p>a.txt umwandeln und das Ergebnis nach e.txt schreiben, wobei e.txt den gleichen Zeitstempel erh&auml;lt wie a.txt:</p>

<pre><code>    dos2unix -k -n a.txt e.txt</code></pre>

<p>a.txt umwandeln und ersetzen, b.txt umwandeln und das Ergebnis nach e.txt schreiben:</p>

<pre><code>    dos2unix a.txt -n b.txt e.txt
    dos2unix -o a.txt -n b.txt e.txt</code></pre>

<p>a.txt umwandeln und das Ergebnis nach e.txt schreiben, a.txt umwandeln und ersetzen, b.txt umwandeln und ersetzen, d.txt umwandeln und das Ergebnis nach f.txt schreiben:</p>

<pre><code>    dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt</code></pre>

<h1 id="REKURSIVE-UMWANDLUNG">REKURSIVE UMWANDLUNG</h1>

<p>Verwenden Sie dos2unix zusammen mit den Befehlen find(1) und xargs(1), um Textdateien in einem Verzeichnisbaum rekursiv umzuwandeln. Um beispielsweise alle *.txt-Dateien im aktuellen Verzeichnis und dessen Unterverzeichnissen umzuwandeln, geben Sie Folgendes ein:</p>

<pre><code>    find . -name *.txt |xargs dos2unix</code></pre>

<h1 id="LOKALISIERUNG">LOKALISIERUNG</h1>

<dl>

<dt id="LANG"><b>LANG</b></dt>
<dd>

<p>Die prim&auml;re Sprache wird durch die Umgebungsvariable LANG festgelegt. Diese Variable besteht aus mehreren Teilen: Der erste Teil besteht aus zwei Kleinbuchstaben, die den Sprachcode angeben. Der zweite Teil ist optional und bezeichnet den L&auml;ndercode in Gro&szlig;buchstaben, vom davor stehenden Sprachcode durch einen Unterstrich getrennt. Der dritte Teil ist ebenfalls optional und gibt die Zeichenkodierung an, vom L&auml;ndercode durch einen Punkt getrennt. Einige Beispiele f&uuml;r Standard-POSIX-Shells:</p>

<pre><code>    export LANG=de               Deutsch
    export LANG=de_DE            Deutsch, Deutschland
    export LANG=de_AT            Deutsch, &Ouml;sterreich
    export LANG=es_ES            Spanisch, Spanien
    export LANG=es_MX            Spanisch, Mexiko
    export LANG=en_US.iso88591   Englisch, USA, Latin-1-Zeichenkodierung
    export LANG=en_GB.UTF-8      Englisch, GB, UTF-8-Zeichenkodierung</code></pre>

<p>Eine vollst&auml;ndige Liste der Sprachen und L&auml;ndercodes finden Sie im Gettext-Handbuch: <a href="http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes">http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes</a></p>

<p>Auf Unix-Systemen erhalten Sie mit dem Befehl locale(1) spezifische Informationen zu den Spracheinstellungen.</p>

</dd>
<dt id="LANGUAGE"><b>LANGUAGE</b></dt>
<dd>

<p>Mit der Umgebungsvariable LANGUAGE k&ouml;nnen Sie eine Priorit&auml;tenliste f&uuml;r Sprachen &uuml;bergeben, die Sie durch Doppelpunkte voneinander trennen. Dos2unix gibt LANGUAGE vor LANG den Vorzug, zum Beispiel bei Deutsch vor Niederl&auml;ndisch: <code>LANGUAGE=de:nl</code>. Sie m&uuml;ssen zun&auml;chst die Lokalisierung aktivieren, indem Sie die Variable LANG (oder LC_ALL) auf einen anderen Wert als &raquo;C&laquo; setzen, bevor Sie die Liste der Sprachpriorit&auml;ten nutzen k&ouml;nnen. Weitere Informationen finden Sie im Gettext-Handbuch: <a href="http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable">http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable</a></p>

<p>Falls Sie eine Sprache ausw&auml;hlen, die nicht verf&uuml;gbar ist, erhalten Sie die Standardmeldungen in englischer Sprache.</p>

</dd>
<dt id="DOS2UNIX_LOCALEDIR"><b>DOS2UNIX_LOCALEDIR</b></dt>
<dd>

<p>Durch die Umgebungsvariable DOS2UNIX_LOCALEDIR wird LOCALEDIR w&auml;hrend der Kompilierung &uuml;bergangen. LOCALEDIR wird verwendet, um Sprachdateien zu finden. Der GNU-Standardwert ist <code>/usr/local/share/locale</code>. Die Option <b>--version</b> zeigt das verwendete LOCALEDIR an.</p>

<p>Beispiel (POSIX-Shell):</p>

<pre><code>    export DOS2UNIX_LOCALEDIR=$HOME/share/locale</code></pre>

</dd>
</dl>

<h1 id="RCKGABEWERT">R&Uuml;CKGABEWERT</h1>

<p>Bei Erfolg wird 0 zur&uuml;ckgegeben. Bei aufgetretenen Systemfehlern wird der letzte Systemfehler zur&uuml;ckgegeben. F&uuml;r alle anderen Fehler wird 1 zur&uuml;ckgegeben.</p>

<p>Der R&uuml;ckgabewert ist im stillen Modus stets 0, au&szlig;er wenn fehlerhafte Befehlszeilenoptionen verwendet werden.</p>

<h1 id="STANDARDS">STANDARDS</h1>

<p><a href="http://de.wikipedia.org/wiki/Textdatei">http://de.wikipedia.org/wiki/Textdatei</a></p>

<p><a href="http://de.wikipedia.org/wiki/Wagenr%C3%BCcklauf">http://de.wikipedia.org/wiki/Wagenr%C3%BCcklauf</a></p>

<p><a href="http://de.wikipedia.org/wiki/Zeilenumbruch">http://de.wikipedia.org/wiki/Zeilenumbruch</a></p>

<p><a href="http://en.wikipedia.org/wiki/Unicode">http://en.wikipedia.org/wiki/Unicode</a></p>

<h1 id="AUTOREN">AUTOREN</h1>

<p>Benjamin Lin - &lt;blin@socs.uts.edu.au&gt; Bernd Johannes Wuebben (mac2unix mode) - &lt;wuebben@kde.org&gt;, Christian Wurll (add extra newline) - &lt;wurll@ira.uka.de&gt;, Erwin Waterlander - &lt;waterlan@xs4all.nl&gt; (Maintainer)</p>

<p>Projektseite: <a href="http://waterlan.home.xs4all.nl/dos2unix.html">http://waterlan.home.xs4all.nl/dos2unix.html</a></p>

<p>SourceForge-Seite: <a href="http://sourceforge.net/projects/dos2unix/">http://sourceforge.net/projects/dos2unix/</a></p>

<p>Freecode: <a href="http://freecode.com/projects/dos2unix">http://freecode.com/projects/dos2unix</a></p>

<h1 id="SIEHE-AUCH">SIEHE AUCH</h1>

<p>file(1) find(1) iconv(1) locale(1) xargs(1)</p>


</body>

</html>