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
|
*****************************************************
* 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 NAMN
dos2unix - konverterare för textfilsformat från DOS/Mac till Unix och vice
versa
=head1 SYNOPSIS
dos2unix [flaggor] [FIL …] [-n INFIL UTFIL …]
unix2dos [flaggor] [FIL …] [-n INFIL UTFIL …]
=head1 BESKRIVNING
Paketet Dos2unix inkluderar verktygen C<dos2unix> och C<unix2dos> som
konverterar oformaterade textfiler i DOS- eller Mac-format till Unix-format
och vice versa.
Textfiler i DOS/Windows har en radbrytning, också känd som nyrad, som är en
kombination av två tecken: vagnretur (Carriage Return, CR) åtföljt av
radmatning (Line Feed, LF). Textfiler i Unix har en radbrytning som är ett
enda tecken: radmatning (Line Feed, LF). Textfiler för Mac, innan Mac OS X,
hade en radbrytning som var en enda vagnretur (Carriage Return, CR). Numera
använder Mac OS radbrytning i Unix-stil (LF).
Förutom radbrytningar så kan Dos2unix också konvertera filers kodning. Några
DOS-teckentabeller kan konverteras till Unix Latin-1. Och filer som använder
Windows Unicode (UTF-16) kan konverteras till Unix Unicode (UTF-8).
Binära filer hoppas över automatiskt, om inte konvertering tvingas.
Kataloger och FIFOs och andra filer som inte är vanliga filer hoppas över
automatiskt.
Symboliska länkar och deras mål förblir oförändrade som standard. Symboliska
länkar kan valfritt bli ersatta eller så kan utmatningen skrivas till målet
för den symboliska länken. På Windows saknas stöd för att skriva till målet
för en symbolisk länk.
Dos2unix modellerades efter dos2unix från SunOS/Solaris. Det finns en viktig
skillnad gentemot originalversionen för SunOS/Solaris. Denna versionen gör
som standard konverteringen på plats (gammalfilsläge), medan
originalversionen från SunOS/Solaris bara hade stöd för parad konvertering
(nyfilsläge). Se vidare flaggorna C<-o> och C<-n>. En annan skillnad är att
SunOS/Solaris-versionen som standard använder I<iso>-lägeskonvertering medan
denna version som standard använder I<ascii>-lägeskonvertering.
=head1 FLAGGOR
=over 4
=item B<-->
Behandla alla efterföljande flaggor som filnamn. Använd denna flagga om du
vill konvertera filer vars namn börjar med bindestreck. För att till exempel
konvertera en fil med namnet “-foo“ kan du använda detta kommando:
dos2unix -- -foo
Eller i nyfilsläge:
dos2unix -n -- -foo out.txt
=item B<-ascii>
Konvertera enbart radbrytningar. Detta är standardkonverteringsläget.
=item B<-iso>
Konvertering mellan DOS- och ISO-8859-1-teckentabeller. Se vidare stycket
KONVERTERINGSLÄGEN.
=item B<-1252>
Använd Windows-teckentabell 1252 (Västeuropeisk).
=item B<-437>
Använd DOS-teckentabell 437 (USA). Detta är standardteckentabellen som
används för ISO-konvertering.
=item B<-850>
Använd DOS-teckentabell 850 (Västeuropeisk).
=item B<-860>
Använd DOS-teckentabell 860 (Portugisisk).
=item B<-863>
Använd DOS-teckentabell 863 (Fransk-kanadensisk).
=item B<-865>
Använd DOS-teckentabell 865 (Nordisk).
=item B<-7>
Konvertera 8-bitars tecken till 7-bitars blanksteg.
=item B<-b, --keep-bom>
Behåll byteordningsmarkering (Byte Order Mark, BOM). Om infilen har en BOM,
skriv en BOM i utfilen. Detta är standardbeteendet vid konvertering av
DOS-radbrytningar. Se vidare flaggan C<-r>.
=item B<-c, --convmode KONVERTERINGSLÄGE>
Ställer in konverteringsläge. Där KONVERTERINGSLÄGE är en av: I<ascii>,
I<7bit>, I<iso>, I<mac> där ascii är standard.
=item B<-D, --display-enc KODNING>
Ställ in kodning för visad text. Där KODNING är en av: I<ansi>, I<unicode>,
I<unicodebom>, I<utf8>, I<utf8bom> där ansi är standardvalet.
Denna flagga finns bara tillgänglig i dos2unix för Windows med stöd för
Unicode-filnamn. Denna flagga har ingen effekt på själva filnamnen som läses
och skrivs, bara på hur de visas.
Det finns flera metoder för att visa text i en Windows-konsol baserad på
vilken kodning texten har. De har alla för- och nackdelar.
=over 4
=item B<ansi>
Dos2unix standardmetod är att använda ANSI-kodad text. Fördelen är att den
är bakåtkompatibel. Det fungerar med raster- och TrueType-teckensnitt. I
vissa regioner kan du behöva ändra den aktiva DOS OEM-teckentabellen till
Windows-systemets ANSI-teckentabell genom att använda kommandot C<chcp>,
eftersom dos2unix använder Windows-systemets teckentabell.
Nackdelen med ansi är att internationella filnamn med tecken som inte finns
i systemets standardteckentabell inte visas korrekt. Du kommer att se
frågetecken, eller en felaktig symbol istället. När du inte arbetar med
utländska filnamn är denna metoden OK.
=item B<unicode, unicodebom>
Fördelen med unicode-kodning (Windows-namnet för UTF-16) är att text
vanligtvis visas korrekt. Det finns inget behov av att ändra den aktiva
teckentabellen. Du kan behöva ställa in konsolens teckensnitt till ett
TrueType-teckensnitt för att få internationella tecken att visas
korrekt. När ett tecken inte finns inkluderat i TrueType-teckensnittet
kommer du vanligtvis att se en liten ruta, ibland med ett frågetecken inuti.
När du använder ConEmu-konsolen kommer all text att visas korrekt eftersom
ConEmu automatiskt väljer ett bra teckensnitt.
Nackdelen med unicode är att den inte är kompatibel med ASCII. Utmatningen
är inte lätt att hantera när du omdirigerar den till ett annat program eller
en fil.
När metod C<unicodebom> används kommer Unicode-texten att föregås av en BOM
(byteordningsmarkering, Byte Order Mark). En BOM krävs för korrekt
omdirigering eller rörledning i PowerShell.
=item B<utf8, utf8bom>
Fördelen med utf8 är att den är kompatibel med ASCII. Du måste ställa in
konsolens teckensnitt till ett TrueType-teckensnitt. Med ett
TrueType-teckensnitt kommer text att visas på liknande sätt som med
C<unicode>-kodningen.
Nackdelen är att när du använder standardrasterteckensnittet kommer alla
icke-ASCII tecken att visas fel. Inte enbart unicode-filnamn, utan också
översatta meddelanden kommer att bli oläsbara. Under Windows som
konfigurerats för Östasien kan man komma att se många blinkningar i konsolen
när meddelanden visas.
I ConEmu-konsolen fungerar utf8-kodningsmetoden väl.
När metod C<utf8bom> används kommer UTF-8-texten att föregås av en BOM
(byteordningsmarkering, Byte Order Mark). En BOM krävs för korrekt
omdirigering eller rörledning i PowerShell.
=back
Standardkodningen kan ändras via miljövariabeln DOS2UNIX_DISPLAY_ENC genom
att sätta den till C<unicode>, C<unicodebom>, C<utf8> or C<utf8bom>.
=item B<-f, --force>
Tvinga konvertering av binära filer.
=item B<-gb, --gb18030>
Under Windows konverteras UTF-16-filer som standard till UTF-8, oavsett
vilken lokalinställning som är gjord. Använd denna flagga för att konvertera
UTF-16-filer till GB18030. Denna flagga finns bara tillgänglig i Windows. Se
vidare i avsnittet GB18030.
=item B<-h, --help>
Visa hjälptext och avsluta.
=item B<-i[FLAGGOR], --info[=FLAGGOR] FIL ...>
Visa filinformation. Ingen konvertering görs.
Följande information skrivs ut, i denna ordningen: antal DOS-radbrytningar,
antal Unix-radbrytningar, antal Mac-radbrytningar, byteordningsmarkeringen,
text eller binär, filnamn.
Exempelutmatning:
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 binär dos2unix.exe
Notera att en binärfil ibland kan misstas för en textfil. Se vidare flaggan
C<-s>.
Extra flaggor kan användas valfritt för att ändra utmatningen. En eller fler
flaggor kan läggas till.
=over 4
=item B<0>
Skriv ut filinformationsraderna följt av ett null-tecken istället för ett
nyradstecken. Detta möjliggör korrekt tolkning av filnamn med blanksteg
eller citationstecken när c-flaggan används. Använd denna flagga i
kombination med xargs(1):s flagga C<-0> eller C<--null>.
=item B<d>
Skriv ut antal DOS-radbrytningar.
=item B<u>
Skriv ut antal Unix-radbrytningar.
=item B<m>
Skriv ut antal Mac-radbrytningar.
=item B<b>
Skriv ut byteordningsmarkeringen.
=item B<t>
Skriv ut om filen är text eller binär.
=item B<c>
Skriv bara ut filerna som skulle ha konverterats.
Med C<c>-flaggan kommer dos2unix att skriva ut filerna som innehåller
DOS-radbrytningar, unix2dos kommer bara att skriva ut filnamn som har
Unix-radbrytningar.
=item B<h>
Skriv ut rubrik.
=item B<p>
Visa filnamn utan sökväg.
=back
Exempel:
Visa information för alla *.txt-filer:
dos2unix -i *.txt
Visa bara antalet DOS-radbrytningar och Unix-radbrytningar:
dos2unix -idu *.txt
Visa bara byteordningsmarkeringen:
dos2unix --info=b *.txt
Lista filerna som har DOS-radbrytningar:
dos2unix -ic *.txt
Lista filerna som har Unix-radbrytningar:
unix2dos -ic *.txt
Konvertera endast filer som har DOS-radbrytningar och lämna övriga filer
orörda:
dos2unix -ic0 *.txt | xargs -0 dos2unix
Hitta textfiler som har DOS-radbrytningar:
find -name '*.txt' -print0 | xargs -0 dos2unix -ic
=item B<-k, --keepdate>
Behåll infilens datumstämpel för utfilen.
=item B<-L, --license>
Visa programmets licens.
=item B<-l, --newline>
Lägg till ytterligare nyrad.
B<dos2unix>: Endast DOS-radbrytningar ändras till två Unix-radbrytningar. I
Mac-läge ändras endast Mac-radbrytningar till två Unix-radbrytningar.
B<unix2dos>: Endast Unix-radbrytningar ändras till två DOS-radbrytningar. I
Mac-läge ändras Unix-radbrytningar till två Mac-radbrytningar.
=item B<-m, --add-bom>
Skriv en byteordningsmarkering (Byte Order Mark, BOM) i utfilen. Som
standard skrivs en UTF-8 BOM.
När infilen är UTF-16, och flaggan C<-u> används, kommer en UTF-16 BOM att
skrivas.
Använd aldrig denna flagga när kodningen för utmatning är något annat än
UTF-8, UTF-16 eller GB18030. Se vidare i avsnittet UNICODE.
=item B<-n, --newfile INFIL UTFIL …>
Nyfilsläge. Konvertera filen INFIL och skriv utfilen UTFIL. Filnamnen måste
ange i par och jokertecken i namnen ska I<inte> användas annars I<kommer> du
att förlora filer.
Användaren som påbörjar konverteringen i nyfilsläge (parat läge) kommer att
bli ägaren till den konverterade filen. Läs-/skrivbehörigheter för den nya
filen kommer att vara samma behörigheter som för originalfilen minus
umask(1) för användaren som kör konverteringen.
=item B<-o, --oldfile FIL …>
Gammalfilsläge. Konvertera filen FIL och skriv över den med
utmatningen. Programmet kör i detta läge som standard. Jokertecken i filnamn
får användas.
I gammalfilsläge (på-plats läge) kommer den konverterade filen att få samma
ägare, grupp samt läs-/skrivbehörigheter som originalfilen. Även då filen
konverteras av en annan användare som har skrivbehörighet för filen
(t.ex. användaren root). Konverteringen kommer att avbrytas när det inte är
möjligt att bevara originalvärdena. Byte av ägare skulle kunna innebära att
originalägaren inte längre kan läsa filen. Byte av grupp skulle kunna vara
en säkerhetsrisk, filen skulle kunna bli läsbar för användare som den inte
är avsedd för. Stöd för bevarande av ägare, grupp och
läs-/skrivbehörigheter finns bara i Unix.
=item B<-q, --quiet>
Tyst drift. Undertryck alla varningar och meddelanden. Returvärdet är
noll. Utom när felaktiga kommandoradsflaggor används.
=item B<-r, --remove-bom>
Ta bort byteordningsmarkering (Byte Order Mark, BOM). Skriv inte en BOM i
utfilen. Detta är standardbeteende vid konvertering av Unix-radbrytningar.
Se vidare flaggan C<-b>.
=item B<-s, --safe>
Hoppa över binära filer (standard).
Binärfiler hoppas över för att undvika oavsiktliga misstag. Var medveten om
att detektering av binärfiler inte är 100% säker. Infiler genomsöks efter
binära symboler som typiskt inte återfinns i textfiler. Det är möjligt att
en binärfil enbart innehåller texttecken. En sådan binärfil kommer
oavsiktligt att ses som en textfil.
=item B<-u, --keep-utf16>
Behåll infilens original UTF-16-kodning. Utfilen kommer att skrivas med
samma UTF-16-kodning som infilen, omvänd eller rak byteordning (little eller
big endian). Detta förhindrar transformation till UTF-8. En UTF-16 BOM
kommer att skrivas i enlighet med detta. Denna flagga kan inaktiveras med
C<-ascii>-flaggan.
=item B<-ul, --assume-utf16le>
Antag att infilsformatet är UTF-16LE.
När det finns en byteordningsmarkering (Byte Order Mark) i infilen så har
BOM:en högre prioritet än denna flagga.
När du har gjort fel antagande (infilen var inte i UTF-16LE-format) och
konverteringens lyckas, kommer du att få en UTF-8 utfil med felaktig
text. Du kan göra denna konvertering ogjord med iconv(1) genom att
konvertera UTF-8 utfilen tillbaka till UTF-16LE. Detta kommer att återskapa
originalfilen.
Antagandet om UTF-16LE fungerar som ett I<konverteringsläge>. Genom att
växla till standard I<ascii>-läget kommer UTF-16LE antagandet att stängas
av.
=item B<-ub, --assume-utf16be>
Antag att infilsformatet är UTF-16BE.
Denna flagga fungerar på samma sätt som flaggan C<-ul>.
=item B<-v, --verbose>
Visa utförliga meddelanden. Extra information visas om
byteordningsmarkeringar och antalet konverterade radbrytningar.
=item B<-F, --follow-symlink>
Följ symboliska länkar och konvertera målen.
=item B<-R, --replace-symlink>
Ersätt symboliska länkar med konverterade filer (originalmålfilerna förblir
oförändrade).
=item B<-S, --skip-symlink>
Behåll symboliska länkar och mål oförändrade (standard).
=item B<-V, --version>
Visa versionsinformation och avsluta.
=back
=head1 MAC-LÄGE
I normalläge konverteras radbrytningar från DOS till Unix och vice
versa. Mac-radbrytningar konverteras inte.
I Mac-läge konverteras radbrytningar från Mac till Unix och vice
versa. DOS-radbrytningar ändras ej.
För att köra i Mac-läge använd kommandoradsflaggan C<-c mac> eller använd
kommandona C<mac2unix> eller C<unix2mac>.
=head1 KONVERTERINGSLÄGEN
=over 4
=item B<ascii>
I läget C<ascii> konverteras enbart radbrytningar. Detta är
standardkonverteringsläget.
Även om namnet på detta läge är ASCII, vilket är en 7-bitarsstandard, så är
det läget egentligen ett 8-bitarsläge. Använd alltid detta läge vid
konvertering av Unicode UTF-8-filer.
=item B<7bit>
I detta läge konverteras alla 8-bitars icke-ASCII tecken (med värden från
128 till 255) till ett 7-bitars blanksteg.
=item B<iso>
Tecken konverteras mellan DOS teckenuppsättning (teckentabell) och ISO
teckenuppsättning ISO-8859-1 (Latin-1) på Unix. DOS tecken utan motsvarande
ISO-8859-1 tecken, för vilka konvertering är omöjligt, kommer att ersättas
med en punkt. Detsamma gäller för ISO-8859-1 tecken utan motsvarighet i DOS.
När enbart flaggan C<-iso> används kommer dos2unix att försöka avgöra den
aktiva teckentabellen. När detta inte är möjligt kommer dos2unix att använda
standardteckentabellen CP437, vilken huvudsakligen används i USA. För att
tvinga en specifik teckentabell använd flaggorna C<-437> (USA), C<-850>
(Västeuropeisk), C<-860> (Portugisisk), C<-863> (Fransk-kanadensisk) eller
C<-865> (Nordisk). Det finns också stöd för Windows-teckentabell CP-1252
(Västeuropeisk) via flaggan C<-1252>. För andra teckentabeller använd
dos2unix i kombination med iconv(1). iconv kan konvertera mellan en lång
lista av teckenkodningar.
Använd aldrig ISO-konvertering på Unicode-textfiler. Det kommer att
korrumpera UTF-8-kodade filer.
Några exempel:
Konvertera från DOS standardteckentabell till Unix Latin-1:
dos2unix -iso -n in.txt ut.txt
Konvertera från DOS CP850 till Unix Latin-1:
dos2unix -850 -n in.txt ut.txt
Konvertera från Windows CP1252 till Unix Latin-1:
dos2unix -1252 -n in.txt ut.txt
Konvertera från Windows CP1252 till Unix UTF-8 (Unicode):
iconv -f CP1252 -t UTF-8 in.txt | dos2unix > ut.txt
Konvertera från Unix Latin-1 till DOS-standardteckentabell:
unix2dos -iso -n in.txt ut.txt
Konvertera från Unix Latin-1 till DOS CP850:
unix2dos -850 -n in.txt ut.txt
Konvertera från Unix Latin-1 till Windows CP1252:
unix2dos -1252 -n in.txt ut.txt
Konvertera från Unix UTF-8 (Unicode) till Windows CP1252:
unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > ut.txt
Se även L<http://czyborra.com/charsets/codepages.html> och
L<http://czyborra.com/charsets/iso8859.html>.
=back
=head1 UNICODE
=head2 Kodningar
Det finns flera olika Unicode kodningar. I Unix och Linux kodas filer
vanligtvis med UTF-8-kodning. I Windows kan Unicode-textfiler kodas i UTF-8,
UTF-16 eller UTF-16 rak byteordning (big endian), men kodas mestadels i
UTF-16-format.
=head2 Konvertering
Unicode-textfiler kan ha DOS, Unix eller Mac-radbrytningar precis som
vanliga textfiler.
Alla versioner av dos2unix och unix2dos kan konvertera UTF-8-kodade filer,
eftersom UTF-8 designades för bakåtkompatibilitet med ASCII.
Dos2unix och unix2dos med Unicode-UTF-16-stöd, kan läsa UTF-16-kodade
textfiler i omvänd och rak byteordning (little och big endian). För att se
om dos2unix byggts med UTF-16-stöd skriv C<dos2unix -V>.
Under Unix/Linux kommer UTF-16-kodade filer att konverteras till lokalens
teckenkodning. Använd kommandot locale(1) för att ta reda på vilken lokalens
teckenkodning är. När konvertering inte är möjlig kommer ett
konverteringsfel att inträffa och filen kommer att hoppas över.
Under Windows konverteras UTF-16-filer som standard till
UTF-8. UTF-8-formaterade textfiler har bra stöd både under Windows och
Unix/Linux.
UTF-16- och UTF-8-kodning är fullt kompatibla, ingen text kommer att gå
förlorad i konverteringen. När ett UTF-16 till UTF-8-konverteringsfel
uppstår, till exempel när infilen i UTF-16-format innehåller ett fel, kommer
att filen att hoppas över.
När flaggan C<-u> används kommer utfilen att skrivas med samma
UTF-16-kodning som infilen. Flaggan C<-u> förhindrar konvertering till
UTF-8.
Dos2unix och unix2dos har ingen flagga för att konvertera UTF-8-filer till
UTF-16.
ISO- och 7-bitarslägeskonvertering fungerar inte på UTF-16-filer.
=head2 Byteordningsmarkering (Byte Order Mark)
I Windows har Unicode-textfiler typiskt en byteordningsmarkering (Byte Order
Mark, BOM) eftersom många Windows-program (inklusive Notepad) lägger till
BOM:ar som standard. Se även
L<http://en.wikipedia.org/wiki/Byte_order_mark>.
I Unix har Unicode-textfiler typiskt ingen BOM. Filer antas vara kodade i
den lokala teckenuppsättningen.
Dos2Unix kan bara detektera om en fil är i UTF-16-format om filen har en
BOM. När en UTF-16-fil inte har en BOM så kommer dos2unix att de filen som
en binärfil.
Använd flaggan C<-ul> eller C<-ub> för att konvertera en UTF-16-fil utan
BOM.
Dos2unix skriver som standard ingen BOM i utfilen. Med flaggan C<-b> kommer
Dos2unix att skriva en BOM när infilen har en BOM.
Unix2dos skriver som standard en BOM i utfilen när infilen har en
BOM. Använd flaggan C<-r> för att ta bort BOM:en.
Dos2unix och unix2dos skriver alltid en BOM när flaggan C<-m> används.
=head2 Unicode-filnamn under Windows
Dos2unix har valfritt stöd för läsning och skrivning av Unicode-filnamn i
Windows kommandoprompt. Detta innebär att dos2unix kan öppna filer som har
tecken i sina namn som inte är en del av systemets atandard
ANSI-teckentabell. För att se om dos2unix för Windows byggdes med stöd för
Unicode-filnamn skriv C<dos2unix -V>.
Det finns en del problem med att visa Unicode-filnamn i en
Windows-konsol. Se vidare flaggan C<-D>, C<--display-enc>. Filnamnen kan
visas felaktigt i konsolen, men filerna som skrivs kommer att ha de korrekta
namnen.
=head2 Unicode-exempel
Konvertera från Windows UTF-16 (med BOM) till Unix UTF-8:
dos2unix -n in.txt ut.txt
Konvertera från Windows UTF-16LE (utan BOM) till Unix UTF-8:
dos2unix -ul -n in.txt ut.txt
Konvertera från Unix UTF-8 till Windows UTF-8 med BOM:
unix2dos -m -n in.txt ut.txt
Konvertera från Unix UTF-8 till Windows UTF-16:
unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > ut.txt
=head1 GB18030
GB18030 är en standard från Kinesiska regeringen. En obligatorisk delmängd
av standarden GB18030 krävs officiellt för alla programvaruprodukter som
säljs i Kina. Se vidare L<http://en.wikipedia.org/wiki/GB_18030>.
GB18030 är fullständigt kompatibel med Unicode och kan anses vara ett
överföringsformat för unicode. Precis som UTF-8 är GB18030 kompatibel med
ASCII. GB18030 är också kompatibel med Windows-teckentabell 936, också känd
som GBK.
Under Unix/Linux kommer UTF-16-filer att konverteras till GB18030 när
lokalens teckenkodning är inställd på GB18030. Notera att detta endast
kommer att fungera om lokalen har stöd i systemet. Använd kommandot C<locale
-a> för att få en lista över de lokaler som stöds.
Under Windows måste du använda flaggan C<-gb> för att konvertera
UTF-16-filer till GB18030.
GB18030-kodade filer kan ha en byteordningsmarkering, precis som
Unicode-filer.
=head1 EXEMPEL
Läsa inmatning från “stdin“ och skriv utmatning till “stdout“:
dos2unix < a.txt
cat a.txt | dos2unix
Konvertera och ersätta a.txt. Konvertera och ersätt b.txt:
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
Konvertera och ersätt a.txt i ascii-konverteringsläge:
dos2unix a.txt
Konvertera och ersätt a.txt i ascii-konverteringsläge, konvertera och ersätt
b.txt i 7bit-konverteringsläge:
dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt
Konvertera a.txt från Mac- till Unix-format:
dos2unix -c mac a.txt
mac2unix a.txt
Konvertera a.txt från Unix- till Mac-format:
unix2dos -c mac a.txt
unix2mac a.txt
Konvertera och ersätt a.txt medan originalet tidsstämpel behålls:
dos2unix -k a.txt
dos2unix -k -o a.txt
Konvertera a.txt och skriv till e.txt:
dos2unix -n a.txt e.txt
Konvertera a.txt och skriv till e.txt, låt e.txt behålla tidsstämpeln från
a.txt:
dos2unix -k -n a.txt e.txt
Konvertera och ersätt a.txt, konvertera b.txt och skriv till e.txt:
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
Konvertera c.txt och skriv till e.txt, konvertera och ersätt a.txt,
konvertera och ersätt b.txt, konvertera d.txt och skriv till f.txt:
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
=head1 REKURSIV KONVERTERING
I ett Unix-skal kan kommandona find(1) och xargs(1) användas för att köra
dos2unix rekursivt över alla textfiler i ett katalogträd. För att till
exempel konvertera alla .txt-filer i katalogträdet under den aktuella
katalogen skriv:
find . -name '*.txt' -print0 |xargs -0 dos2unix
Flaggan C<-print0> till find(1) och motsvarande flagga C<-0> till xargs(1)
behövs när det finns filer med mellanslag eller citationstecken i
namnet. Annars kan dessa flaggor utelämnas. Ett annat alternativ är att
användas find(1) med flaggan C<-exec>:
find . -name '*.txt' -exec dos2unix {} \;
I en Windows-kommandoprompt kan följande kommando användas:
for /R %G in (*.txt) do dos2unix "%G"
PowerShell-användare kan använda följande kommando i Windows PowerShell:
get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}
=head1 LOKALISERING
=over 4
=item B<LANG>
Det primära språket väljs med miljövariabeln LANG. LANG-variabeln består av
flera delas. Den första delen är språkkoden i gemener. Den andra delen är
valfri och utgör landskoden i versaler, föregången av ett understreck. Det
finns också en valfri tredje del: teckenkodning, föregången av en punkt. Ett
par exempel för skal av POSIX-standard-typ:
export LANG=nl Nederländska
export LANG=nl_NL Nederländska, Nederländerna
export LANG=nl_BE Nederländska, Belgien
export LANG=es_ES Spanska, Spanien
export LANG=es_MX Spanska, Mexiko
export LANG=en_US.iso88591 Engelska, USA, Latin-1-kodning
export LANG=en_GB.UTF-8 Engelska, UK, UTF-8-kodning
För en fullständig lista över språk och landskoder se vidare i
gettext-manualen:
L<http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>
På Unix-system kan du använda kommando locale(1) för att få lokal-specifik
information.
=item B<LANGUAGE>
Med miljövariabeln LANGUAGE kan du ange en prioritetslista över språk,
separerade med kolon. Dos2unix kommer att ge företräde till LANGAUGE över
LANG. Exempelvis först nederländska och sedan tyska: C<LANGUAGE=nl:de>. Du
måste först ha aktiverat lokalisering, genom att sätta LANG (eller LC_ALL)
till ett värde annat än “C“, innan du kan använda en prioritetslista för
språk via LANGUAGE-variabeln. Se vidare i gettext-manualen:
L<http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>
Om du väljer ett språk som inte är tillgänglig kommer du att få engelska
meddelanden som standard.
=item B<DOS2UNIX_LOCALEDIR>
Med miljövariabeln DOS2UNIX_LOCALEDIR kan LOCALEDIR som ställts in vid
kompilering åsidosättas. LOCALEDIR används för att hitta
språkfiler. Standardvärdet för GNU-program är
C</usr/local/share/locale>. Flaggan B<--version> kommer att visa vilken
LOCALEDIR som används.
Exempel (POSIX-skal):
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
=back
=head1 RETURVÄRDE
Om allt går bra kommer noll att returneras. När ett systemfel uppstår kommer
det senaste systemfelet att returneras. För andra fel kommer 1 att
returneras.
Returvärdet är alltid noll i tyst läge, utom när felaktiga
kommandoradsflaggor används.
=head1 STANDARDER
L<http://en.wikipedia.org/wiki/Text_file>
L<http://en.wikipedia.org/wiki/Carriage_return>
L<http://en.wikipedia.org/wiki/Newline>
L<http://en.wikipedia.org/wiki/Unicode>
=head1 FÖRFATTARE
Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben
(mac2unix-läge) - <wuebben@kde.org>, Christian Wurll (lägg till en extra
radbrytning) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl>
(upphovsman)
Projektsida: L<http://waterlan.home.xs4all.nl/dos2unix.html>
SourceForge-sida: L<http://sourceforge.net/projects/dos2unix/>
=head1 SE ÄVEN
file(1) find(1) iconv(1) locale(1) xargs(1)
|