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
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
|
*****************************************************
* GENERATED FILE, DO NOT EDIT *
* THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
*****************************************************
This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.
In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.
=pod
=encoding UTF-8
=head1 NAAM
dos2unix - omzetter van tekstbestandsindelingen, van DOS/Mac naar Unix en
vice versa
=head1 OVERZICHT
dos2unix [opties] [BESTAND ...] [-n INVOERBESTAND UITVOERBESTAND ...]
unix2dos [opties] [BESTAND ...] [-n INVOERBESTAND UITVOERBESTAND ...]
=head1 BESCHRIJVING
Het Dos2unix pakket bevat de toepassingen C<dos2unix> en C<unix2dos> om
platte tekstbestanden in DOS- of Mac-indeling naar Unix-indeling om te
zetten, en vice versa.
In DOS/Windows-tekstbestanden bestaat een regeleinde uit een combinatie van
twee tekens: een 'Carriage Return' (CR) gevolgd door een 'Line Feed' (LF).
In Unix-tekstbestanden bestaat een regeleinde uit één enkel 'Newline'-teken,
dat gelijk is aan een DOS 'Line Feed'-teken (LF). In Mac-tekstbestanden,
van vóór Mac OS X, bestaan regeleindes uit één enkel 'Carriage
Return'-teken. Mac OS X is op Unix gebaseerd en heeft dezelfde regeleindes
als Unix.
Naast regeleindes kan Dos2unix ook de codering van bestanden converteren.
Enkele DOS-codetabellen kunnen omgezet worden naar Unix Latin-1. En Windows
Unicode-bestanden (UTF-16) kunnen geconverteerd worden naar Unix
Unicode-bestanden (UTF-8).
Binaire bestanden worden automatisch overgeslagen, behalve als de omzetting
geforceerd wordt.
Niet-reguliere bestanden, zoals mappen en FIFO's, worden automatisch
overgeslagen.
Symbolische koppelingen en hun doelen blijven standaard onaangeroerd.
Optioneel kunnen symbolische koppelingen worden vervangen, of de uitvoer kan
naar het doel van de symbolische koppeling worden geschreven. Op Windows
wordt het schrijven naar het doel van een symbolische koppeling niet
ondersteund.
Dos2unix is gemodelleerd naar dos2unix op SunOS/Solaris, maar er is een
belangrijk verschil: deze versie van dos2unix voert standaard een
vervangende conversie uit (oud-bestand-modus) terwijl de oorspronkelijke
SunOS/Solaris-versie alleen de gepaarde conversie (nieuw-bestand-modus)
kent. Zie ook de opties C<-o> en C<-n>. Een ander verschil is dat de
SunOS/Solaris-versie standaard een conversie in I<iso>-modus doet terwijl
deze versie standaard I<ascii>-modus gebruikt.
=head1 OPTIES
=over 4
=item B<-->
Alle volgende opties als bestandsnamen behandelen. Gebruik deze optie als u
een bestand wilt converteren waarvan de naam met een streepje begint.
Bijvoorbeeld, om een bestand genaamd "-foo" om te zetten, gebruikt u de
volgende opdracht:
dos2unix -- -foo
Of in nieuw-bestand-modus:
dos2unix -n -- -foo uit.txt
=item B<-ascii>
Alleen regeleindes converteren. Dit is de standaardconversiemodus.
=item B<-iso>
Conversie tussen de tekensets DOS en ISO-8859-1. Zie ook de sectie
B<CONVERSIEMODI>.
=item B<-1252>
Windows-codetabel 1252 (West-Europees) gebruiken.
=item B<-437>
DOS-codetabel 437 (VS) gebruiken. Dit is de standaard codetabel die
gebruikt wordt bij ISO-conversie.
=item B<-850>
DOS-codetabel 850 (West-Europees) gebruiken.
=item B<-860>
DOS-codetabel 860 (Portugees) gebruiken.
=item B<-863>
DOS-codetabel 863 (Canadees Frans) gebruiken.
=item B<-865>
DOS-codetabel 865 (Scandinavisch) gebruiken.
=item B<-7>
Lettertekens met het achtste bit gezet converteren naar spaties.
=item B<-b>, B<--keep-bom>
Een Byte-Order-Mark (BOM) behouden. Als het invoerbestand een BOM bevat,
dan wordt ook een BOM naar het uitvoerbestand geschreven. Dit is het
standaardgedrag bij conversie naar DOS. Zie ook optie C<-r>.
=item B<-c>, B<--convmode CONVERSIEMODUS>
De te gebruiken conversiemodus. CONVERSIEMODUS kan zijn: I<ascii>, I<7bit>,
I<iso>, of I<mac>, waarbij ascii de standaardinstelling is.
=item B<-D>, B<--display-enc CODERING>
De te gebruiken tekencodering voor weergegeven tekst. CODERING kan zijn:
I<ansi>, I<unicode>, I<unicodebom>, I<utf8>, of I<utf8bom>, waarbij ansi de
standaardinstelling is.
Deze optie is alleen beschikbaar in dos2unix voor Windows met
Unicode-bestandsnaam-ondersteuning. Deze optie heeft geen effect op de
gelezen en geschreven bestandsnamen, maar alleen op hoe deze weergegeven
worden.
There are several methods for displaying text in a Windows console based on
the encoding of the text. They all have their own advantages and
disadvantages.
=over 4
=item B<ansi>
Dos2unix's default method is to use ANSI encoded text. The advantage is that
it is backwards compatible. It works with raster and TrueType fonts. In some
regions you may need to change the active DOS OEM code page to the Windows
system ANSI code page using the C<chcp> command, because dos2unix uses the
Windows system code page.
The disadvantage of ansi is that international file names with characters
not inside the system default code page are not displayed properly. You will
see a question mark, or a wrong symbol instead. When you don't work with
foreign file names this method is OK.
=item B<unicode>, B<unicodebom>
The advantage of unicode (the Windows name for UTF-16) encoding is that text
is usually properly displayed. There is no need to change the active code
page. You may need to set the console's font to a TrueType font to have
international characters displayed properly. When a character is not
included in the TrueType font you usually see a small square, sometimes with
a question mark in it.
When you use the ConEmu console all text is displayed properly, because
ConEmu automatically selects a good font.
The disadvantage of unicode is that it is not compatible with ASCII. The
output is not easy to handle when you redirect it to another program.
When method C<unicodebom> is used the Unicode text will be preceded with a
BOM (Byte Order Mark). A BOM is required for correct redirection or piping
in PowerShell.
=item B<utf8>, B<utf8bom>
The advantage of utf8 is that it is compatible with ASCII. You need to set
the console's font to a TrueType font. With a TrueType font the text is
displayed similar as with the C<unicode> encoding.
The disadvantage is that when you use the default raster font all non-ASCII
characters are displayed wrong. Not only unicode file names, but also
translated messages become unreadable. On Windows configured for an
East-Asian region you may see a lot of flickering of the console when the
messages are displayed.
In a ConEmu console the utf8 encoding method works well.
When method C<utf8bom> is used the UTF-8 text will be preceded with a BOM
(Byte Order Mark). A BOM is required for correct redirection or piping in
PowerShell.
=back
The default encoding can be changed with environment variable
DOS2UNIX_DISPLAY_ENC by setting it to C<unicode>, C<unicodebom>, C<utf8>, or
C<utf8bom>.
=item B<-f>, B<--force>
Conversie van binaire bestanden afdwingen.
=item B<-gb>, B<--gb18030>
Op Windows worden UTF-16-bestanden standaard naar UTF-8 geconverteerd,
ongeacht de ingestelde taalregio. Gebruik deze optie om UTF-16-bestanden
naar GB18030 te converteren. Deze optie is alleen beschikbaar op Windows.
Zie ook de sectie B<GB18030>.
=item B<-h>, B<--help>
Een hulptekst tonen.
=item B<-i>[B<VLAGGEN>], B<--info>[B<=VLAGGEN>] B<BESTAND>...
Bestandsinformatie tonen. Er wordt niets geconverteerd.
De volgende informatie wordt weergegeven, in deze volgorde: het aantal
DOS-regeleindes, het aantal Unix-regeleindes, het aantal Mac-regeleindes, de
Byte-Order-Mark, of het een tekst- of binair bestand is, en de bestandsnaam.
Voorbeelduitvoer:
6 0 0 no_bom text dos.txt
0 6 0 no_bom text unix.txt
0 0 6 no_bom text mac.txt
6 6 6 no_bom text mixed.txt
50 0 0 UTF-16LE text utf16le.txt
0 50 0 no_bom text utf8unix.txt
50 0 0 UTF-8 text utf8dos.txt
2 418 219 no_bom binary dos2unix.exe
Merk op dat een binair bestand soms voor een tekstbestand aangezien kan
worden. Zie ook optie C<-s>.
Bij de optie kunnen één of meer vlaggen meegegeven worden om de uitvoer te
beperken.
=over 4
=item B<0>
Print the file information lines followed by a null character instead of a
newline character. This enables correct interpretation of file names with
spaces or quotes when flag c is used. Use this flag in combination with
xargs(1) option C<-0> or C<--null>.
=item B<d>
Het aantal DOS-regeleindes tonen.
=item B<u>
Het aantal Unix-regeleindes tonen.
=item B<m>
Het aantal Mac-regeleindes tonen.
=item B<b>
De Byte-Order-Mark tonen.
=item B<t>
Tonen of het bestand tekst is of binair.
=item B<c>
Alleen de namen tonen van de bestanden die geconverteerd zouden worden.
Met de vlag C<c> toont dos2unix alleen de bestanden die DOS-regeleindes
bevatten, en unix2dos alleen de bestanden die Unix-regeleindes bevatten.
=item B<h>
Een kopregel printen.
=item B<p>
Bestandsnamen tonen zonder pad.
=back
Voorbeelden:
Informatie weergeven voor alle bestanden met de extensie 'txt':
dos2unix -i *.txt
Alleen de aantallen DOS-regeleindes en Unix-regeleindes tonen:
dos2unix -idu *.txt
Alleen de Byte-Order-Mark tonen:
dos2unix --info=b *.txt
De bestanden opsommen die DOS-regeleindes bevatten:
dos2unix -ic *.txt
De bestanden opsommen die Unix-regeleindes bevatten:
unix2dos -ic *.txt
Alleen bestanden die DOS-regeleindes bevatten converteren en andere
bestanden ongemoeid laten:
dos2unix -ic0 *.txt | xargs -0 dos2unix
De bestanden vinden die DOS-regeleindes bevatten:
find -name '*.txt' -print0 | xargs -0 dos2unix -ic
=item B<-k>, B<--keepdate>
Het tijdsstempel van het invoerbestand behouden voor het uitvoerbestand.
=item B<-L>, B<--license>
De softwarelicentie tonen.
=item B<-l>, B<--newline>
Een extra regeleinde toevoegen.
B<dos2unix>: Alleen DOS-regeleindes worden omgezet naar twee
Unix-regeleindes. In Mac-modus worden alleen Mac-regeleindes omgezet naar
twee Unix-regeleindes.
B<unix2dos>: Alleen Unix-regeleindes worden omgezet naar twee
DOS-regeleindes. In Mac-modus worden Unix-regeleindes omgezet naar twee
Mac-regeleindes.
=item B<-m>, B<--add-bom>
Een Byte-Order-Mark (BOM) naar het uitvoerbestand schrijven. Standaard
wordt een UTF-8-BOM geschreven.
Als het invoerbestand in UTF-16 is, en de optie C<-u> is gegeven, dan wordt
een UTF-16-BOM geschreven.
Gebruik deze optie nooit als de codering van het uitvoerbestand niet UTF-8,
UTF-16, of GB18030 is. Zie ook de sectie B<UNICODE>.
=item B<-n>, B<--newfile INVOERBESTAND UITVOERBESTAND> ...
Nieuw-bestand-modus. Het bestand INVOERBESTAND converteren en naar bestand
UITVOERBESTAND schrijven. Bestandsnamen moeten opgegeven worden in paren.
Jokertekens moeten I<niet>gebruikt worden, anders I<verlies> je de
bestanden.
De gebruiker die de conversie start in nieuw-bestand (gepaarde) modus wordt
de eigenaar van het geconverteerde bestand. De lees/schrijf-toegangsrechten
van het nieuwe bestand worden de toegangsrechten van het originele bestand
minus de umask(1) van de gebruiker die de conversie draait.
=item B<-o>, B<--oldfile BESTAND> ...
Oud-bestand-modus. Het bestand BESTAND converteren en overschrijven. Dit
is de standaard modus. Jokertekens kunnen gebruikt worden.
In oud-bestand (vervangende) modus krijgt het geconverteerde bestand
dezelfde eigenaar, groep en lees/schrijf-rechten als het originele bestand.
Ook wanneer het bestand wordt omgezet door een andere gebruiker die
schrijfrechten heeft op het bestand (b.v. gebruiker root). De omzetting
wordt afgebroken wanneer het niet mogelijk is de originele waardes te
behouden. Verandering van eigenaar kan betekenen dat de originele eigenaar
het bestand niet meer kan lezen. Verandering van groep zou een
veiligheidsrisico kunnen zijn, het bestand zou leesbaar kunnen worden voor
personen voor wie het niet bestemd is. Behoud van eigenaar, groep en
lees/schrijf-rechten wordt alleen ondersteund op Unix.
=item B<-q>, B<--quiet>
Stille werking. Alle waarschuwingen onderdrukken. De afsluitwaarde is nul,
behalve wanneer verkeerde opties worden gegeven.
=item B<-r>, B<--remove-bom>
Een Byte-Order-Mark (BOM) verwijderen. Er wordt geen BOM naar het
uitvoerbestand geschreven. Dit is het standaardgedrag bij conversie naar
Unix. Zie ook optie C<-b>.
=item B<-s>, B<--safe>
Binaire bestanden overslaan (standaard).
Binaire bestanden worden overgeslagen om vergissingen te voorkomen. Het
detecteren van binaire bestanden is echter niet 100% betrouwbaar.
Invoerbestanden worden gescand op binaire tekens die gewoonlijk niet in
tekstbestanden voorkomen. Maar het is mogelijk dat een binair bestand enkel
normale teksttekens bevat. Zo'n binair bestand zal dan foutief als een
tekstbestand gezien worden.
=item B<-u>, B<--keep-utf16>
De originele UTF-16-codering van het invoerbestand behouden. Het
uitvoerbestand wordt in dezelfde UTF-16-codering (little endian of big
endian) geschreven als het invoerbestand. Dit voorkomt conversie naar
UTF-8. Er wordt ook een corresponderende UTF-16-BOM geschreven. Deze optie
kan uitgeschakeld worden met de optie C<-ascii>.
=item B<-ul>, B<--assume-utf16le>
Veronderstellen dat de indeling van het invoerbestand UTF-16LE is.
Wanneer het invoerbestand een Byte-Order-Mark (BOM) bevat, dan gaat deze BOM
vóór deze optie.
Wanneer een verkeerde aanname is gemaakt (het invoerbestand was geen
UTF-16LE) en de conversie verliep met succes, dan krijgt u een UTF-8-bestand
met verkeerde tekst. De verkeerde conversie kan ongedaan worden gemaakt
door met iconv(1) het UTF-8-uitvoerbestand terug om te zetten naar
UTF-16LE. Dit zal het originele bestand terug brengen.
De aanname van UTF-16LE werkt als een I<conversiemodus>. Door de
standaardmodus I<ascii> in te schakelen wordt de UTF-16LE-veronderstelling
uitgeschakeld.
=item B<-ub>, B<--assume-utf16be>
Veronderstellen dat de indeling van het invoerbestand UTF-16BE is.
Deze optie werkt hetzelfde als optie C<-ul>.
=item B<-v>, B<--verbose>
Extra meldingen weergeven. Er wordt extra informatie getoond over
Byte-Order-Marks en het aantal geconverteerde regeleindes.
=item B<-F>, B<--follow-symlink>
Symbolische koppelingen volgen en de doelen converteren.
=item B<-R>, B<--replace-symlink>
Symbolische koppelingen vervangen door geconverteerde bestanden (de
originele doelbestanden blijven ongewijzigd).
=item B<-S>, B<--skip-symlink>
Symbolische koppelingen en doelen ongewijzigd laten (standaard).
=item B<-V>, B<--version>
Versie-informatie tonen.
=back
=head1 MAC-MODUS
In normale modus worden DOS-regeleindes naar Unix omgezet en vice versa.
Mac-regeleindes worden niet omgezet.
In Mac-modus worden Mac-regeleindes naar Unix omgezet en vice versa.
DOS-regeleindes blijven ongewijzigd.
Om in Mac-modus te draaien kunt u de opdrachtregeloptie C<-c mac> gebruiken,
of de opdrachten C<mac2unix> of C<unix2mac>.
=head1 CONVERSIEMODI
=over 4
=item B<ascii>
In modus C<ascii> worden alleen regeleindes omgezet. Dit is de
standaardmodus.
Hoewel de naam van deze modus ASCII is, wat een 7-bits standaard is, is de
werkelijke modus 8-bits. Gebruik altijd deze modus wanneer u Unicode
UTF-8-bestanden omzet.
=item B<7bit>
Alle 8-bits niet-ASCII lettertekens (met waardes van 128 t/m 255) worden
omgezet naar een 7-bits spatie.
=item B<iso>
Tekens worden omgezet tussen een DOS-tekenset (codetabel) en de ISO-tekenset
ISO-8859-1 (Latin-1) op Unix. DOS-tekens zonder een ISO-8859-1-equivalent,
waarvoor dus geen omzetting mogelijk is, worden omgezet in een punt.
Hetzelfde geldt voor ISO-8859-1-tekens zonder DOS-tegenhanger.
Wanneer alleen optie C<-iso> gebruikt wordt, zal dos2unix proberen de
actieve codetabel te gebruiken. Als dat niet mogelijk is wordt codetabel
CP437 gebruikt, die vooral in de VS gebruikt wordt. Om een bepaalde
codetabel te forceren, kunt u de opties C<-850> (West-Europees), C<-860>
(Portugees), C<-863> (Canadees Frans) of C<-865> (Scandinavisch) gebruiken.
Windows-codetabel CP1252 (West-Europees) wordt ook ondersteund met optie
C<-1252>. Gebruik voor andere codetabellen dos2unix in combinatie met
iconv(1). Iconv kan omzetten tussen een lange lijst tekensetcoderingen.
Gebruik ISO-conversie nooit op Unicode-tekstbestanden. Het zal
UTF-8-gecodeerde bestanden beschadigen.
Enkele voorbeelden:
Omzetten van de standaard DOS-codetabel naar Unix Latin-1:
dos2unix -iso -n in.txt uit.txt
Omzetten van DOS CP850 naar Unix Latin-1:
dos2unix -850 -n in.txt uit.txt
Omzetten van Windows CP1252 naar Unix Latin-1:
dos2unix -1252 -n in.txt uit.txt
Omzetten van Windows CP1252 naar Unix UTF-8 (Unicode):
iconv -f CP1252 -t UTF-8 in.txt | dos2unix > uit.txt
Omzetten van Unix Latin-1 naar de standaard DOS-codetabel:
unix2dos -iso -n in.txt uit.txt
Omzetten van Unix Latin-1 naar DOS CP850:
unix2dos -850 -n in.txt uit.txt
Omzetten van Unix Latin-1 naar Windows CP1252:
unix2dos -1252 -n in.txt uit.txt
Omzetten van Unix UTF-8 (Unicode) naar Windows CP1252:
unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > uit.txt
Zie ook L<http://czyborra.com/charsets/codepages.html> en
L<http://czyborra.com/charsets/iso8859.html>.
=back
=head1 UNICODE
=head2 Coderingen
Er bestaan verschillende Unicode-coderingen. Op Unix en Linux zijn
Unicode-bestanden typisch gecodeerd in UTF-8. Op Windows kunnen
Unicode-tekstbestanden gecodeerd zijn in UTF-8, UTF-16 of UTF-16 big endian,
maar ze zijn meestal gecodeerd in UTF-16.
=head2 Conversie
Unicode-tekstbestanden kunnen DOS-, Unix- of Mac-regeleindes hebben, net als
reguliere tekstbestanden.
Alle versies van dos2unix en unix2dos kunnen UTF-8-gecodeerde bestanden
omzetten, want UTF-8 is ontworpen op compatibiliteit met ASCII.
Dos2unix en unix2dos met Unicode UTF-16-ondersteuning kunnen little en big
endian UTF-16-gecodeerde tekstbestanden lezen. Om er achter te komen of
dos2unix gebouwd is met UTF-16- ondersteuning, typt u C<dos2unix -V>.
Op Unix/Linux worden UTF-16-bestanden geconverteerd naar de codering van de
ingestelde taalregio. Gebruik de opdracht B<locale>(1) om te zien wat de
ingestelde codering is. Wanneer conversie niet mogelijk is, treedt er een
fout op en wordt het bestand overgeslagen.
Op Windows worden UTF-16-bestanden standaard naar UTF-8 geconverteerd.
UTF-8-tekstbestanden worden alom goed ondersteund, zowel op Windows als
Unix/Linux.
De UTF-16- en UTF-8-coderingen zijn volledig compatibel, er gaat bij het
converteren niets verloren. Als er tijdens de conversie van UTF-16 naar
UTF-8 een fout optreedt, bijvoorbeeld omdat het UTF-16-invoerbestand een
fout bevat, dan wordt het bestand overgeslagen.
Wanneer C<-u> gebruikt wordt, wordt het uitvoerbestand in dezelfde
UTF-16-codering geschreven als het invoerbestand. Optie C<-u> voorkomt
conversie naar UTF-8.
Dos2unix en unix2dos hebben geen optie om van UTF-8 naar UTF-16 te
converteren.
ISO- en 7-bits-conversie werken niet op UTF-16-bestanden.
=head2 Byte-Order-Mark
Op Windows bevatten Unicode-tekstbestanden gewoonlijk een Byte-Order-Mark
(BOM), omdat veel Windows-programma's (inclusief Kladblok) standaard een BOM
toevoegen. Zie ook L<http://en.wikipedia.org/wiki/Byte_order_mark>.
Op Unix hebben Unicode-tekstbestanden meestal geen BOM. Er wordt aangenomen
dat de codering van tekstbestanden gelijk is aan de tekencodering van de
ingestelde taalregio.
Dos2unix kan alleen detecteren of een bestand in UTF-16-codering is als het
bestand een BOM bevat. Wanneer een UTF-16-bestand geen BOM heeft, ziet
dos2unix het bestand als een binair bestand.
Gebruik optie C<-ul> of C<-ub> om een UTF-16-bestand zonder BOM om te
zetten.
Dos2unix schrijft standaard geen BOM in het uitvoerbestand. Met optie C<-b>
schrijft dos2unix een BOM wanneer het invoerbestand een BOM bevat.
Unix2dos schrijft standaard een BOM in het uitvoerbestand wanneer het
invoerbestand een BOM bevat. Gebruik optie C<-r> om de BOM te verwijderen.
Dos2unix en unix2dos schrijven altijd een BOM wanneer optie C<-m> gebruikt
wordt.
=head2 Unicode-bestandsnamen op Windows
Dos2unix heeft optionele ondersteuning voor het lezen en schrijven van
Unicode-bestandsnamen in de Windows Opdrachtprompt. Dit betekent dat
dos2unix bestanden kan openen waarvan de naam tekens bevat die niet
voorkomen in de standaard ANSI-codetabel. Om te zien of dos2unix voor
Windows gecompileerd werd met ondersteuning voor Unicode-bestandsnamen, typt
u C<dos2unix -V>.
Er zijn enige problemen met het weergeven van Unicode-bestandsnamen in een
Windows-console; zie bij optie C<-D>, C<--display-enc>. De bestandsnamen
kunnen verkeerd weergegeven worden, maar de bestanden zullen geschreven
worden met de correcte naam.
=head2 Unicode-voorbeelden
Omzetten van Windows UTF-16 (met BOM) naar Unix UTF-8:
dos2unix -n in.txt uit.txt
Omzetten van Windows UTF-16LE (zonder BOM) naar Unix UTF-8:
dos2unix -ul -n in.txt uit.txt
Omzetten van Unix UTF-8 naar Windows UTF-8 met BOM:
unix2dos -m -n in.txt uit.txt
Omzetten van Unix UTF-8 naar Windows UTF-16:
unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > uit.txt
=head1 GB18030
GB18030 is een standaard van de Chinese overheid. Een subset van de
GB18030-standaard is officieel verplicht voor alle softwareproducten die in
China verkocht worden. Zie ook L<http://en.wikipedia.org/wiki/GB_18030>.
GB18030 is volledig compatibel met Unicode, en kan als een
Unicodetransformatie beschouwd worden. Net als UTF-8 is GB18030 compatibel
met ASCII. GB18030 is ook compatibel met Windows-codetabel 936 (ook wel GBK
genoemd).
Op Unix/Linux worden UTF-16-bestanden naar GB18030 geconverteerd wanneer de
taalregio-codering GB18030 is. Merk op dat dit alleen werkt als deze
taalregio-instelling door het systeem ondersteund wordt. Gebruik het
commando C<locale -a> voor een overzicht van de beschikbare taalregio's.
Op Windows dient u de optie C<-gb> te gebruiken om UTF-16-bestanden naar
GB18030 te converteren.
GB18030-bestanden kunnen een Byte-Order-Mark bevatten, net als
Unicode-bestanden.
=head1 VOORBEELDEN
Invoer lezen van standaardinvoer en uitvoer schrijven naar standaarduitvoer:
dos2unix < a.txt
cat a.txt | dos2unix
Omzetten en vervangen van a.txt; omzetten en vervangen van b.txt:
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
Omzetten en vervangen van a.txt in ascii-conversiemodus:
dos2unix a.txt
Omzetten en vervangen van a.txt in ascii-conversiemodus; omzetten en
vervangen van b.txt in 7-bits conversiemodus:
dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt
Omzetten van a.txt van Mac- naar Unix-indeling:
dos2unix -c mac a.txt
mac2unix a.txt
Omzetten van a.txt van Unix- naar Mac-indeling:
unix2dos -c mac a.txt
unix2mac a.txt
Omzetten en vervangen van a.txt met behoud van origineel tijdsstempel:
dos2unix -k a.txt
dos2unix -k -o a.txt
Omzetten van a.txt en resultaat naar e.txt schrijven:
dos2unix -n a.txt e.txt
Omzetten van a.txt en naar e.txt schrijven, met tijdsstempel van e.txt
gelijk aan die van a.txt:
dos2unix -k -n a.txt e.txt
Omzetten en vervangen van a.txt; omzetten van b.txt en naar e.txt schrijven:
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
Omzetten van c.txt en naar e.txt schrijven; omzetten en vervangen van a.txt;
omzetten en vervangen van b.txt; omzetten van d.txt en naar f.txt schrijven.
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
=head1 RECURSIEVE CONVERSIE
In a Unix shell the find(1) and xargs(1) commands can be used to run
dos2unix recursively over all text files in a directory tree. For instance
to convert all .txt files in the directory tree under the current directory
type:
find . -name '*.txt' -print0 |xargs -0 dos2unix
The find(1) option C<-print0> and corresponding xargs(1) option C<-0> are
needed when there are files with spaces or quotes in the name. Otherwise
these options can be omitted. Another option is to use find(1) with the
C<-exec> option:
find . -name '*.txt' -exec dos2unix {} \;
In een Windows Opdrachtprompt kan de volgende opdracht gebruikt worden:
for /R %G in (*.txt) do dos2unix "%G"
PowerShell users can use the following command in Windows PowerShell:
get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}
=head1 LOKALISATIE
=over 4
=item B<LANG>
De primaire taal wordt geselecteerd via de omgevingsvariabele LANG. De
variabele LANG bestaat uit verschillende onderdelen. Het eerste deel is in
kleine letters de taalcode. Het tweede deel is optioneel en is de landcode
in hoofdletters, voorafgegaan door een liggend streepje. Er is ook een
optioneel derde deel: de tekencodering, voorafgegaan door een punt. Enkele
voorbeelden voor een POSIX-shell:
export LANG=nl Nederlands
export LANG=nl_NL Nederlands, Nederland
export LANG=nl_BE Nederlands, België
export LANG=es_ES Spaans, Spanje
export LANG=es_MX Spaans, Mexico
export LANG=en_US.iso88591 Engels, VS, Latin-1-codering
export LANG=en_GB.UTF-8 Engels, GB, UTF-8-codering
Voor een complete lijst van taal- en landcodes zie de gettext-handleiding:
L<http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>
Op Unix-systemen kunt u de opdracht B<locale>(1) gebruiken om specifieke
taalregio-informatie te verkrijgen.
=item B<LANGUAGE>
Met de omgevingsvariabele LANGUAGE kunt u een prioriteitenlijst specificeren
van talen, gescheiden door dubbele punten. Dos2unix geeft voorrang aan
LANGUAGE boven LANG. Bijvoorbeeld, eerst Nederlands en dan Duits:
C<LANGUAGE=nl:de>. U moet eerst lokalisatie in werking stellen, door het
instellen van LANG (of LC_ALL) op een waarde ongelijk aan "C", voordat u een
talen-prioriteitenlijst kunt gebruiken via de variabele LANGUAGE. Zie ook
de gettext-handleiding:
L<http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>
Als u een taal kiest die niet beschikbaar is, worden de standaard Engelse
berichten gebruikt.
=item B<DOS2UNIX_LOCALEDIR>
Met de omgevingsvariabele DOS2UNIX_LOCALEDIR kan de LOCALEDIR die ingesteld
werd tijdens compilatie worden overstemd. LOCALEDIR wordt gebruikt om de
taalbestanden te vinden. De GNU standaardwaarde is
C</usr/local/share/locale>. De optie B<--version> laat de gebruikte
LOCALEDIR zien.
Voorbeeld (POSIX-shell):
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
=back
=head1 AFSLUITWAARDE
Bij succes wordt nul teruggegeven. Wanneer een systeemfout optreedt wordt
het laatste systeemfoutnummer teruggegeven. Bij andere fouten wordt 1
teruggegeven.
De afsluitwaarde is altijd nul in de stillewerkingsmodus, behalve wanneer
verkeerde opties worden gegeven.
=head1 STANDAARDEN
L<http://nl.wikipedia.org/wiki/Tekstbestand>
L<http://nl.wikipedia.org/wiki/Carriage_Return>
L<http://nl.wikipedia.org/wiki/Linefeed>
<http://nl.wikipedia.org/wiki/Unicode>
=head1 AUTEURS
Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben
(mac2unix-modus) - <wuebben@kde.org>, Christian Wurll (toevoegen van extra
regeleindes) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl>
(beheerder)
Projectpagina: L<http://waterlan.home.xs4all.nl/dos2unix.html>
SourceForge-pagina: L<http://sourceforge.net/projects/dos2unix/>
=head1 ZIE OOK
file(1) find(1) iconv(1) locale(1) xargs(1)
|