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
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
|
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
. if \nF \{
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "dos2unix 1"
.TH dos2unix 1 "2014-09-09" "dos2unix" "2014-09-09"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "BEZEICHNUNG"
.IX Header "BEZEICHNUNG"
dos2unix \- Formatumwandlung für Textdateien von DOS/Mac nach Unix und
umgekehrt
.SH "ÜBERSICHT"
.IX Header "ÜBERSICHT"
.Vb 2
\& dos2unix [Optionen] [DATEI …] [\-n EINGABEDATEI AUSGABEDATEI …]
\& unix2dos [Optionen] [DATEI …] [\-n EINGABEDATEI AUSGABEDATEI …]
.Ve
.SH "BESCHREIBUNG"
.IX Header "BESCHREIBUNG"
Das Paket Dos2unix enthält die Werkzeuge \f(CW\*(C`dos2unix\*(C'\fR und \f(CW\*(C`unix2dos\*(C'\fR zum
Umwandeln einfacher Textdateien aus dem \s-1DOS\-\s0 oder Mac-Format in das
Unix-Format und umgekehrt.
.PP
In Textdateien unter DOS/Windows sind Zeilenumbrüche, auch als neue Zeile
(\s-1NL\s0) bekannt, eine Kombination aus zwei Zeichen: einem Wagenrücklauf
(Carriage Return, \s-1CR\s0) gefolgt von einem Zeilenvorschub (Line Feed, \s-1LF\s0). In
Unix-Textdateien bestehen Zeilenumbrüche nur aus einem Zeichen, dem
Zeilenvorschub (\s-1LF\s0). In Mac-Textdateien aus der Zeit vor MacOSX bestand ein
Zeilenumbruch aus einem einzelnen CR-Zeichen. Heute verwendet Mac \s-1OS\s0
Zeilenumbrüche im Unix-Stil (\s-1LF\s0).
.PP
Neben Zeilenumbrüchen kann Dos2unix auch die Zeichenkodierung von Dateien
umwandeln. Einige DOS-Codepages können in Unix Latin\-1 umgewandelt werden,
und Windows-Unicode-Dateien (\s-1UTF\-16\s0) können in Unix-Unicode-Dateien (\s-1UTF\-8\s0)
umgewandelt werden.
.PP
Binärdateien werden automatisch übersprungen, sofern die Umwandlung nicht
erzwungen wird.
.PP
Nicht\-reguläre Dateien, wie Verzeichnisse und \s-1FIFOS \s0(Weiterleitungen) werden
automatisch übersprungen.
.PP
Symbolische Links und deren Ziele werden per Vorgabe unverändert
belassen. Symbolische Links kö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ützt.
.PP
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ährend
unter SunOS/Solaris nur die paarweise Umwandlung (Neue-Datei-Modus)
unterstützt wird. Siehe dazu die Optionen \f(CW\*(C`\-o\*(C'\fR und \f(CW\*(C`\-n\*(C'\fR.
.SH "OPTIONEN"
.IX Header "OPTIONEN"
.IP "\fB\-\-\fR" 4
.IX Item "--"
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 »\-bla« umzuwandeln, können Sie
folgenden Befehl verwenden:
.Sp
.Vb 1
\& dos2unix \-\- \-bla
.Ve
.Sp
oder im Neue-Datei-Modus:
.Sp
.Vb 1
\& dos2unix \-n \-\- \-bla ausgabe.txt
.Ve
.IP "\fB\-ascii\fR" 4
.IX Item "-ascii"
wandelt nur Zeilenumbrüche um. Dies ist der vorgegebene Umwandlungsmodus.
.IP "\fB\-iso\fR" 4
.IX Item "-iso"
wandelt aus dem \s-1DOS\-\s0 in den ISO\-8859\-1\-Zeichensatz um. Weitere Informationen
hierzu finden Sie im Abschnitt \s-1UMWANDLUNGSMODI.\s0
.IP "\fB\-1252\fR" 4
.IX Item "-1252"
verwendet die Windows-Codepage 1252 (Westeuropäisch).
.IP "\fB\-437\fR" 4
.IX Item "-437"
verwendet die DOS-Codepage 437 (\s-1US\s0). Dies ist die vorgegebene Codepage für
die ISO-Umwandlung.
.IP "\fB\-850\fR" 4
.IX Item "-850"
verwendet die DOS-Codepage 850 (Westeuropäisch).
.IP "\fB\-860\fR" 4
.IX Item "-860"
verwendet die DOS-Codepage 860 (Portugiesisch).
.IP "\fB\-863\fR" 4
.IX Item "-863"
verwendet die DOS-Codepage 863 (Kanadisches Französisch).
.IP "\fB\-865\fR" 4
.IX Item "-865"
verwendet die DOS-Codepage 865 (Skandinavisch).
.IP "\fB\-7\fR" 4
.IX Item "-7"
wandelt 8bit\-Zeichen in ein 7bit\-Bitmuster um.
.IP "\fB\-b, \-\-keep\-bom\fR" 4
.IX Item "-b, --keep-bom"
erhält die Markierung der Bytereihenfolge (\s-1BOM\s0). Wenn die Eingabedatei eine
\&\s-1BOM\s0 enthält, wird ebenfalls eine \s-1BOM\s0 in die Ausgabedatei geschrieben. Dies
ist das Standardverhalten beim Umwandeln von DOS\-Zeilenumbrüchen. Siehe auch
die Option \f(CW\*(C`\-r\*(C'\fR.
.IP "\fB\-c, \-\-convmode \s-1UMWANDLUNGSMODUS\s0\fR" 4
.IX Item "-c, --convmode UMWANDLUNGSMODUS"
legt den Umwandlungsmodus fest. \s-1UMWANDLUNGSMODUS\s0 kann \fIascii\fR, \fI7bit\fR,
\&\fIiso\fR oder \fImac\fR sein, wobei \fIascii\fR die Vorgabe ist.
.IP "\fB\-f, \-\-force\fR" 4
.IX Item "-f, --force"
erzwingt die Umwandlung von Binärdateien.
.IP "\fB\-h, \-\-help\fR" 4
.IX Item "-h, --help"
zeigt eine Hilfe an und beendet das Programm.
.IP "\fB\-k, \-\-keepdate\fR" 4
.IX Item "-k, --keepdate"
übernimmt den Zeitstempel der Eingabedatei in die Ausgabedatei.
.IP "\fB\-L, \-\-license\fR" 4
.IX Item "-L, --license"
zeigt die Lizenz des Programms an.
.IP "\fB\-l, \-\-newline\fR" 4
.IX Item "-l, --newline"
fügt eine zusätzliche neue Zeile hinzu.
.Sp
\&\fBdos2unix\fR: Nur DOS\-Zeilenumbrüche werden in Unix\-Zeilenumbrüche
umgewandelt. Im Mac-Modus werden nur Mac\-Zeilenumbrüche in
Unix\-Zeilenumbrüche umgewandelt.
.Sp
\&\fBunix2dos\fR: Nur Unix\-Zeilenumbrüche werden in DOS\-Zeilenumbrüche
umgewandelt. Im Mac-Modus werden nur Unix\-Zeilenumbrüche in
Mac\-Zeilenumbrüche umgewandelt.
.IP "\fB\-m, \-\-add\-bom\fR" 4
.IX Item "-m, --add-bom"
schreibt eine Markierung der Bytereihenfolge (\s-1BOM\s0) in die Ausgabedatei. In
der Voreinstellung wird eine \s-1UTF\-8\-BOM\s0 geschrieben.
.Sp
Wenn die Eingabedatei in \s-1UTF\-16\s0 kodiert ist und die Option \f(CW\*(C`\-u\*(C'\fR verwendet
wird, wird eine \s-1UTF\-16\-BOM\s0 geschrieben.
.Sp
Verwenden Sie diese Option niemals, wenn die Kodierung der Ausgabedatei
weder \s-1UTF\-8\s0 noch \s-1UTF\-16\s0 ist. Weitere Informationen finden Sie im Abschnitt
\&\s-1UNICODE.\s0
.IP "\fB\-n, \-\-newfile \s-1EINGABEDATEI AUSGABEDATEI\s0 …\fR" 4
.IX Item "-n, --newfile EINGABEDATEI AUSGABEDATEI …"
Neue-Datei-Modus. Die \s-1EINGABEDATEI\s0 wird umgewandelt und in die \s-1AUSGABEDATEI\s0
geschrieben. Die Dateinamen müssen paarweise angegeben werden. Platzhalter
sollten \fInicht\fR verwendet werden, sonst werden Sie Ihre Dateien
\&\fIverlieren\fR.
.Sp
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 \fIumask\fR\|(1) der Person ermittelt,
die die Umwandlung ausgeführt hat.
.IP "\fB\-o, \-\-oldfile \s-1DATEI\s0 …\fR" 4
.IX Item "-o, --oldfile DATEI …"
Alte-Datei-Modus. Die \s-1DATEI\s0 wird umgewandelt und durch die Ausgabedatei
überschrieben. Per Vorgabe werden Umwandlungen in diesem Modus
ausgeführt. Platzhalter sind verwendbar.
.Sp
Im Alte-Datei-Modus (Ersetzungsmodus) erhalten die umgewandelten Dateien den
gleichen Eigentü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ür die Datei hat (zum
Beispiel der Systemadministrator). Die Umwandlung wird abgebrochen, wenn es
nicht möglich ist, die originalen Werte beizubehalten. Die Änderung des
Eigentümers könnte zum Beispiel bewirken, dass der ursprüngliche Eigentümer
die Datei nicht mehr lesen kann. Die Änderung der Gruppe könnte ein
Sicherheitsrisiko sein, da die Datei vielleicht für Benutzer lesbar wird,
für die sie nicht bestimmt ist. Die Beibehaltung von Eigentümer, Gruppe und
Schreib\- und Leserechten wird nur unter Unix unterstützt.
.IP "\fB\-q, \-\-quiet\fR" 4
.IX Item "-q, --quiet"
Stiller Modus, in dem alle Warnungen und sonstige Meldungen unterdrückt
werden. Der Rückgabewert ist 0, außer wenn fehlerhafte Befehlszeilenoptionen
angegeben werden.
.IP "\fB\-r, \-\-remove\-bom\fR" 4
.IX Item "-r, --remove-bom"
entfernt die Markierung der Bytereihenfolge (\s-1BOM\s0). Es wird keine \s-1BOM\s0 in die
Ausgabedatei geschrieben. Dies ist das Standardverhalten beim Umwandeln von
Unix\-Zeilenumbrüchen. Siehe auch die Option \f(CW\*(C`\-b\*(C'\fR.
.IP "\fB\-s, \-\-safe\fR" 4
.IX Item "-s, --safe"
überspringt Binärdateien (Vorgabe).
.IP "\fB\-u, \-\-keep\-utf16\fR" 4
.IX Item "-u, --keep-utf16"
erhält die originale UTF\-16\-Kodierung der Eingabedatei. Die Ausgabedatei
wird in der gleichen UTF\-16\-Kodierung geschrieben (Little\-Endian\- oder
Big-Endian-Bytereihenfolge) wie die Eingabedatei. Dies verhindert die
Umwandlung in \s-1UTF\-8.\s0 Eine \s-1UTF\-16\-BOM\s0 wird dementsprechend geschrieben. Diese
Option kann durch Angabe der Option \f(CW\*(C`\-ascii\*(C'\fR deaktiviert werden.
.IP "\fB\-ul, \-\-assume\-utf16le\fR" 4
.IX Item "-ul, --assume-utf16le"
nimmt an, dass die Eingabedatei das Format \s-1UTF\-16LE\s0 hat.
.Sp
Wenn die Eingabedatei eine Markierung der Bytereihenfolge enthält (\s-1BOM\s0),
dann hat die \s-1BOM\s0 Vorrang vor dieser Option.
.Sp
Durch eine falsche Annahme (die Eingabedatei war nicht in \s-1UTF\-16LE\s0 kodiert)
mit erfolgreicher Umwandlung erhalten Sie eine UTF\-8\-Ausgabedatei mit
fehlerhaftem Text. Sie können die fehlgeschlagene Umwandlung mit \fIiconv\fR\|(1)
rückgängig machen, indem Sie die Rückumwandlung von \s-1UTF\-8\s0 nach \s-1UTF\-16LE\s0
vornehmen. Dadurch gewinnen Sie die Originaldatei zurück.
.Sp
Die Annahme von \s-1UTF\-16LE\s0 wirkt wie ein \fIUmwandlungsmodus\fR. Beim Wechsel zum
vorgegebenen \fIascii\fR\-Modus wird die UTF16LE\-Annahme deaktiviert.
.IP "\fB\-ub, \-\-assume\-utf16be\fR" 4
.IX Item "-ub, --assume-utf16be"
nimmt an, dass die Eingabedatei das Format \s-1UTF\-16BE\s0 hat.
.Sp
Diese Option ist gleichbedeutend mit \f(CW\*(C`\-ul\*(C'\fR.
.IP "\fB\-v, \-\-verbose\fR" 4
.IX Item "-v, --verbose"
zeigt ausführliche Meldungen an. Zusätzliche Informationen werden zu den
Markierungen der Bytereihenfolge (\s-1BOM\s0) und zur Anzahl der umgewandelten
Zeilenumbrüche angezeigt.
.IP "\fB\-F, \-\-follow\-symlink\fR" 4
.IX Item "-F, --follow-symlink"
folgt symbolischen Links und wandelt die Zieldateien um.
.IP "\fB\-R, \-\-replace\-symlink\fR" 4
.IX Item "-R, --replace-symlink"
ersetzt symbolische Links durch die umgewandelten Dateien (die originalen
Zieldateien bleiben unverändert).
.IP "\fB\-S, \-\-skip\-symlink\fR" 4
.IX Item "-S, --skip-symlink"
erhält symbolische Links als solche und lässt die Ziele unverändert
(Vorgabe).
.IP "\fB\-V, \-\-version\fR" 4
.IX Item "-V, --version"
zeigt Versionsinformationen an und beendet das Programm.
.SH "MAC-MODUS"
.IX Header "MAC-MODUS"
Im Normalmodus werden Zeilenumbrüche von \s-1DOS\s0 nach Unix und umgekehrt
umgewandelt. Mac\-Zeilenumbrüche werden nicht verändert.
.PP
Im Mac-Modus werden Zeilenumbrüche von Mac nach Unix und umgekehrt
umgewandelt. DOS\-Zeilenumbrüche werden nicht verändert.
.PP
Um das Programm im Mac-Modus auszuführen, verwenden Sie die
Befehlszeilenoption \f(CW\*(C`\-c mac\*(C'\fR oder die Befehle \f(CW\*(C`mac2unix\*(C'\fR oder \f(CW\*(C`unix2mac\*(C'\fR.
.SH "UMWANDLUNGSMODI"
.IX Header "UMWANDLUNGSMODI"
.IP "\fBascii\fR" 4
.IX Item "ascii"
Im \f(CW\*(C`ascii\*(C'\fR\-Modus werden nur Zeilenumbrüche umgewandelt. Dies ist der
vorgegebene Umwandlungsmodus.
.Sp
Obwohl der Name dieses Modus auf \s-1ASCII\s0 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.
.IP "\fB7bit\fR" 4
.IX Item "7bit"
In diesem Modus werden alle Nicht-ASCII-Zeichen aus 8 Bit in das
7\-Bit\-Bitmuster umgewandelt.
.IP "\fBiso\fR" 4
.IX Item "iso"
Die Zeichen werden aus dem DOS-Zeichensatz (der Codepage) in den
ISO-Zeichensatz \s-1ISO\-8859\-1 \s0(Latin\-1) in Unix umgewandelt. DOS-Zeichen ohne
Äquivalent in \s-1ISO\-8859\-1,\s0 für die die Umwandlung nicht möglich ist, werden
durch einen Punkt ersetzt. Gleiches gilt für ISO\-8859\-1\-Zeichen ohne
DOS\-Gegenstück.
.Sp
Wenn nur die Option \f(CW\*(C`\-iso\*(C'\fR angegeben ist, versucht dos2unix die aktive
Codepage selbst zu ermitteln. Sollte dies nicht möglich sein, wird die
Standard-Codepage \s-1CP437\s0 verwendet, welche hauptsächlich in den \s-1USA\s0
eingesetzt wird. Um eine bestimmte Codepage zu erzwingen, verwenden Sie die
Optionen \f(CW\*(C`\-437\*(C'\fR (\s-1US\s0), \f(CW\*(C`\-850\*(C'\fR (Westeuropäisch), \f(CW\*(C`\-860\*(C'\fR (Portugiesisch),
\&\f(CW\*(C`\-863\*(C'\fR (Kanadisches Französisch) oder \f(CW\*(C`\-865\*(C'\fR (Skandinavisch). Die
Windows-Codepage \s-1CP1252 \s0(Westeuropäisch) wird durch die Option \f(CW\*(C`\-1252\*(C'\fR
unterstützt.
.Sp
Wenden Sie niemals die ISO-Umwandlung auf Unicode-Textdateien an. In \s-1UTF\-8\s0
kodierte Dateien werden dadurch beschädigt.
.Sp
Einige Beispiele:
.Sp
Umwandlung aus der vorgegebenen DOS-Codepage nach Unix Latin\-1
.Sp
.Vb 1
\& dos2unix \-iso \-n in.txt ausgabe.txt
.Ve
.Sp
Umwandlung von \s-1DOS CP850\s0 nach Unix Latin\-1
.Sp
.Vb 1
\& dos2unix \-850 \-n eingabe.txt ausgabe.txt
.Ve
.Sp
Umwandlung von Windows \s-1CP1252\s0 nach Unix Latin\-1
.Sp
.Vb 1
\& dos2unix \-1252 \-n eingabe.txt ausgabe.txt
.Ve
.Sp
Umwandlung von Windows \s-1CP1252\s0 nach Unix \s-1UTF\-8 \s0(Unicode)
.Sp
.Vb 1
\& iconv \-f CP1252 \-t UTF\-8 eingabe.txt | dos2unix > ausgabe.txt
.Ve
.Sp
Umwandlung von Unix Latin\-1 in die vorgegebene DOS-Codepage
.Sp
.Vb 1
\& unix2dos \-iso \-n eingabe.txt ausgabe.txt
.Ve
.Sp
Umwandlung von Unix Latin\-1 nach \s-1DOS CP850\s0
.Sp
.Vb 1
\& unix2dos \-850 \-n eingabe.txt ausgabe.txt
.Ve
.Sp
Umwandlung von Unix Latin\-1 nach Windows \s-1CP1252\s0
.Sp
.Vb 1
\& unix2dos \-1252 \-n eingabe.txt ausgabe.txt
.Ve
.Sp
Umwandlung von Unix \s-1UTF\-8 \s0(Unicode) nach Windows \s-1CP1252\s0
.Sp
.Vb 1
\& unix2dos < eingabe.txt | iconv \-f UTF\-8 \-t CP1252 > ausgabe.txt
.Ve
.Sp
Siehe auch <http://czyborra.com/charsets/codepages.html> und
<http://czyborra.com/charsets/iso8859.html>.
.SH "UNICODE"
.IX Header "UNICODE"
.SS "Zeichenkodierungen"
.IX Subsection "Zeichenkodierungen"
Es gibt verschiedene Unicode-Zeichenkodierungen. Unter Unix und Linux sind
Unicode-Dateien typischerweise in \s-1UTF\-8\s0 kodiert. Unter Windows können
Textdateien in \s-1UTF\-8, UTF\-16\s0 oder \s-1UTF\-16\s0 in Big-Endian-Bytereihenfolge
kodiert sein, liegen aber meist im Format \s-1UTF\-16\s0 vor.
.SS "Umwandlung"
.IX Subsection "Umwandlung"
Unicode-Textdateien können \s-1DOS\-,\s0 Unix\- oder Mac\-Zeilenumbrüche enthalten, so
wie reguläre Textdateien.
.PP
Alle Versionen von dos2unix und unix2dos können UTF\-8\-kodierte Dateien
umwandeln, weil \s-1UTF\-8\s0 im Hinblick auf Abwärtskompatiblität mit \s-1ASCII\s0
entwickelt wurde.
.PP
Dos2unix und unix2dos mit Unterstützung für \s-1UTF\-16\s0 können in \s-1UTF\-16\s0 kodierte
Dateien in Little\-Endian\- und Big-Endian-Bytereihenfolge lesen. Um
festzustellen, ob dos2unix mit UTF\-16\-Unterstützung kompiliert wurde, geben
Sie \f(CW\*(C`dos2unix \-V\*(C'\fR ein.
.PP
In \s-1UTF\-16\s0 kodierte Dateien werden standardmäßig in \s-1UTF\-8\s0 umgewandelt. Unter
Unix/Linux ist es notwendig, dass die Zeichenkodierung der Locale auf \s-1UTF\-8\s0
gesetzt ist. Mit dem Befehl \fIlocale\fR\|(1) können Sie herausfinden, wie die
Zeichenkodierung der Locale eingestellt ist. In \s-1UTF\-8\s0 formatierte
Textdateien werden von Windows und Unix/Linux gleichermaßen unterstützt.
.PP
Die Kodierungen \s-1UTF\-16\s0 und \s-1UTF\-8\s0 sind vollständig kompatibel, daher wird bei
der Umwandlung keinerlei Text verlorengehen. Sollte bei der Umwandlung von
\&\s-1UTF\-16\s0 in \s-1UTF\-8\s0 ein Problem auftreten, beispielsweise wenn die
UTF\-16\-kodierte Eingabedatei einen Fehler enthält, dann wird diese Datei
übersprungen.
.PP
Wenn die Option \f(CW\*(C`\-u\*(C'\fR verwendet wird, wird die Ausgabedatei in der gleichen
UTF\-16\-Kodierung wie die Eingabedatei geschrieben. Die Option \f(CW\*(C`\-u\*(C'\fR
verhindert die Umwandlung in \s-1UTF\-8.\s0
.PP
Dos2unix und unix2dos bieten keine Option zur Umwandlung von UTF\-8\-Dateien
in \s-1UTF\-16.\s0
.PP
Umwandlungen im \s-1ISO\-\s0 und 7bit\-Modus funktionieren mit UTF\-16\-Dateien nicht.
.SS "Markierung der Bytereihenfolge"
.IX Subsection "Markierung der Bytereihenfolge"
Unicode-Textdateien unter Windows haben typischerweise eine Markierung der
Bytereihenfolge (\s-1BOM\s0), da viele Windows-Programme (zum Beispiel Notepad)
solche BOMs standardmäßig hinzufügen. Weitere Informationen hierzu finden
Sie auf <http://de.wikipedia.org/wiki/Byte\-Reihenfolge>.
.PP
Unter Unix haben Textdateien üblicherweise keine \s-1BOM.\s0 Es wird stattdessen
angenommen, dass Textdateien in der Zeichenkodierung entsprechend der
Spracheinstellung vorliegen.
.PP
Dos2unix kann nur dann erkennen, ob eine Datei UTF\-16\-kodiert ist, wenn die
Datei eine \s-1BOM\s0 enthält. Ist dies nicht der Fall, nimmt dos2unix an, dass es
sich um eine Binärdatei handelt.
.PP
Verwenden Sie die Optionen \f(CW\*(C`\-ul\*(C'\fR oder \f(CW\*(C`\-ub\*(C'\fR, um eine UTF\-16\-Datei ohne \s-1BOM\s0
umzuwandeln.
.PP
Dos2unix schreibt in der Voreinstellung keine \s-1BOM\s0 in die Ausgabedatei. Mit
der Option \f(CW\*(C`\-b\*(C'\fR schreibt Dos2unix eine \s-1BOM,\s0 wenn die Eingabedatei ebenfalls
eine \s-1BOM\s0 hat.
.PP
Unix2dos schreibt in der Voreinstellung eine \s-1BOM\s0 in die Ausgabedatei, wenn
die Eingabedatei ebenfalls eine solche Markierung hat. Verwenden Sie die
Option \f(CW\*(C`\-r\*(C'\fR, um die \s-1BOM\s0 zu entfernen.
.PP
Dos2unix und unix2dos schreiben immer eine \s-1BOM,\s0 wenn die Option \f(CW\*(C`\-m\*(C'\fR
angegeben ist.
.SS "Unicode-Beispiele"
.IX Subsection "Unicode-Beispiele"
Umwandlung von Windows \s-1UTF\-16 \s0(mit \s-1BOM\s0) nach Unix \s-1UTF\-8\s0
.PP
.Vb 1
\& dos2unix \-n eingabe.txt ausgabe.txt
.Ve
.PP
Umwandlung von Windows \s-1UTF\-16LE \s0(ohne \s-1BOM\s0) nach Unix \s-1UTF\-8\s0
.PP
.Vb 1
\& dos2unix \-ul \-n eingabe.txt ausgabe.txt
.Ve
.PP
Umwandlung von Unix \s-1UTF\-8\s0 nach Windows \s-1UTF\-8\s0 mit \s-1BOM\s0
.PP
.Vb 1
\& unix2dos \-m \-n eingabe.txt ausgabe.txt
.Ve
.PP
Umwandlung von Unix \s-1UTF\-8\s0 nach Windows \s-1UTF\-16\s0
.PP
.Vb 1
\& unix2dos < eingabe.txt | iconv \-f UTF\-8 \-t UTF\-16 > ausgabe.txt
.Ve
.SH "BEISPIELE"
.IX Header "BEISPIELE"
Aus der Standardeingabe lesen und in die Standardausgabe schreiben:
.PP
.Vb 2
\& dos2unix
\& dos2unix \-l \-c mac
.Ve
.PP
a.txt umwandeln und ersetzen, b.txt umwandeln und ersetzen:
.PP
.Vb 2
\& dos2unix a.txt b.txt
\& dos2unix \-o a.txt b.txt
.Ve
.PP
a.txt im ascii-Modus umwandeln und ersetzen:
.PP
.Vb 1
\& dos2unix a.txt
.Ve
.PP
a.txt im ascii-Modus umwandeln und ersetzen, b.txt im 7bit\-Modus umwandeln
und ersetzen:
.PP
.Vb 3
\& dos2unix a.txt \-c 7bit b.txt
\& dos2unix \-c ascii a.txt \-c 7bit b.txt
\& dos2unix \-ascii a.txt \-7 b.txt
.Ve
.PP
a.txt aus dem Mac\- in das Unix-Format umwandeln:
.PP
.Vb 2
\& dos2unix \-c mac a.txt
\& mac2unix a.txt
.Ve
.PP
a.txt aus dem Unix\- in das Mac-Format umwandeln:
.PP
.Vb 2
\& unix2dos \-c mac a.txt
\& unix2mac a.txt
.Ve
.PP
a.txt unter Beibehaltung des Zeitstempels umwandeln:
.PP
.Vb 2
\& dos2unix \-k a.txt
\& dos2unix \-k \-o a.txt
.Ve
.PP
a.txt umwandeln und das Ergebnis nach e.txt schreiben:
.PP
.Vb 1
\& dos2unix \-n a.txt e.txt
.Ve
.PP
a.txt umwandeln und das Ergebnis nach e.txt schreiben, wobei e.txt den
gleichen Zeitstempel erhält wie a.txt:
.PP
.Vb 1
\& dos2unix \-k \-n a.txt e.txt
.Ve
.PP
a.txt umwandeln und ersetzen, b.txt umwandeln und das Ergebnis nach e.txt
schreiben:
.PP
.Vb 2
\& dos2unix a.txt \-n b.txt e.txt
\& dos2unix \-o a.txt \-n b.txt e.txt
.Ve
.PP
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:
.PP
.Vb 1
\& dos2unix \-n c.txt e.txt \-o a.txt b.txt \-n d.txt f.txt
.Ve
.SH "REKURSIVE UMWANDLUNG"
.IX Header "REKURSIVE UMWANDLUNG"
Verwenden Sie dos2unix zusammen mit den Befehlen \fIfind\fR\|(1) und \fIxargs\fR\|(1), um
Textdateien in einem Verzeichnisbaum rekursiv umzuwandeln. Um beispielsweise
alle *.txt\-Dateien im aktuellen Verzeichnis und dessen Unterverzeichnissen
umzuwandeln, geben Sie Folgendes ein:
.PP
.Vb 1
\& find . \-name *.txt |xargs dos2unix
.Ve
.SH "LOKALISIERUNG"
.IX Header "LOKALISIERUNG"
.IP "\fB\s-1LANG\s0\fR" 4
.IX Item "LANG"
Die primäre Sprache wird durch die Umgebungsvariable \s-1LANG\s0 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ändercode in Großbuchstaben, vom davor stehenden
Sprachcode durch einen Unterstrich getrennt. Der dritte Teil ist ebenfalls
optional und gibt die Zeichenkodierung an, vom Ländercode durch einen Punkt
getrennt. Einige Beispiele für Standard-POSIX-Shells:
.Sp
.Vb 7
\& export LANG=de Deutsch
\& export LANG=de_DE Deutsch, Deutschland
\& export LANG=de_AT Deutsch, Ö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
.Ve
.Sp
Eine vollständige Liste der Sprachen und Ländercodes finden Sie im
Gettext-Handbuch:
<http://www.gnu.org/software/gettext/manual/gettext.html#Language\-Codes>
.Sp
Auf Unix-Systemen erhalten Sie mit dem Befehl \fIlocale\fR\|(1) spezifische
Informationen zu den Spracheinstellungen.
.IP "\fB\s-1LANGUAGE\s0\fR" 4
.IX Item "LANGUAGE"
Mit der Umgebungsvariable \s-1LANGUAGE\s0 können Sie eine Prioritätenliste für
Sprachen übergeben, die Sie durch Doppelpunkte voneinander trennen. Dos2unix
gibt \s-1LANGUAGE\s0 vor \s-1LANG\s0 den Vorzug, zum Beispiel bei Deutsch vor
Niederländisch: \f(CW\*(C`LANGUAGE=de:nl\*(C'\fR. Sie müssen zunächst die Lokalisierung
aktivieren, indem Sie die Variable \s-1LANG \s0(oder \s-1LC_ALL\s0) auf einen anderen Wert
als »C« setzen, bevor Sie die Liste der Sprachprioritäten nutzen
können. Weitere Informationen finden Sie im Gettext-Handbuch:
<http://www.gnu.org/software/gettext/manual/gettext.html#The\-LANGUAGE\-variable>
.Sp
Falls Sie eine Sprache auswählen, die nicht verfügbar ist, erhalten Sie die
Standardmeldungen in englischer Sprache.
.IP "\fB\s-1DOS2UNIX_LOCALEDIR\s0\fR" 4
.IX Item "DOS2UNIX_LOCALEDIR"
Durch die Umgebungsvariable \s-1DOS2UNIX_LOCALEDIR\s0 wird \s-1LOCALEDIR\s0 während der
Kompilierung übergangen. \s-1LOCALEDIR\s0 wird verwendet, um Sprachdateien zu
finden. Der GNU-Standardwert ist \f(CW\*(C`/usr/local/share/locale\*(C'\fR. Die Option
\&\fB\-\-version\fR zeigt das verwendete \s-1LOCALEDIR\s0 an.
.Sp
Beispiel (POSIX-Shell):
.Sp
.Vb 1
\& export DOS2UNIX_LOCALEDIR=$HOME/share/locale
.Ve
.SH "RÜCKGABEWERT"
.IX Header "RÜCKGABEWERT"
Bei Erfolg wird 0 zurückgegeben. Bei aufgetretenen Systemfehlern wird der
letzte Systemfehler zurückgegeben. Für alle anderen Fehler wird 1
zurückgegeben.
.PP
Der Rückgabewert ist im stillen Modus stets 0, außer wenn fehlerhafte
Befehlszeilenoptionen verwendet werden.
.SH "STANDARDS"
.IX Header "STANDARDS"
<http://de.wikipedia.org/wiki/Textdatei>
.PP
<http://de.wikipedia.org/wiki/Wagenr%C3%BCcklauf>
.PP
<http://de.wikipedia.org/wiki/Zeilenumbruch>
.PP
<http://en.wikipedia.org/wiki/Unicode>
.SH "AUTOREN"
.IX Header "AUTOREN"
Benjamin Lin \- <blin@socs.uts.edu.au> Bernd Johannes Wuebben (mac2unix mode)
\&\- <wuebben@kde.org>, Christian Wurll (add extra newline) \-
<wurll@ira.uka.de>, Erwin Waterlander \- <waterlan@xs4all.nl> (Maintainer)
.PP
Projektseite: <http://waterlan.home.xs4all.nl/dos2unix.html>
.PP
SourceForge-Seite: <http://sourceforge.net/projects/dos2unix/>
.SH "SIEHE AUCH"
.IX Header "SIEHE AUCH"
\&\fIfile\fR\|(1) \fIfind\fR\|(1) \fIiconv\fR\|(1) \fIlocale\fR\|(1) \fIxargs\fR\|(1)
|