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
|
<?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 7.2 - Conversor de formato de arquivo texto de DOS/Mac para Unix e vice-versa</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="#NOME">NOME</a></li>
<li><a href="#SINOPSE">SINOPSE</a></li>
<li><a href="#DESCRIO">DESCRIÇÃO</a></li>
<li><a href="#OPES">OPÇÕES</a></li>
<li><a href="#MODO-MAC">MODO MAC</a></li>
<li><a href="#MODOS-DE-CONVERSO">MODOS DE CONVERSÃO</a></li>
<li><a href="#UNICODE">UNICODE</a>
<ul>
<li><a href="#Codificaes">Codificações</a></li>
<li><a href="#Converso">Conversão</a></li>
<li><a href="#Marca-de-ordem-de-byte">Marca de ordem de byte</a></li>
<li><a href="#Exemplos-de-Unicode">Exemplos de Unicode</a></li>
</ul>
</li>
<li><a href="#GB18030">GB18030</a></li>
<li><a href="#EXEMPLOS">EXEMPLOS</a></li>
<li><a href="#Converso-recursiva">Conversão recursiva</a></li>
<li><a href="#LOCALIZAO">LOCALIZAÇÃO</a></li>
<li><a href="#VALOR-RETORNADO">VALOR RETORNADO</a></li>
<li><a href="#PADRES">PADRÕES</a></li>
<li><a href="#AUTORES">AUTORES</a></li>
<li><a href="#Veja-tambm">Veja também</a></li>
</ul>
<h1 id="NOME">NOME</h1>
<p>dos2unix - Conversor de formato de arquivo texto de DOS/Mac para Unix e vice-versa</p>
<h1 id="SINOPSE">SINOPSE</h1>
<pre><code> dos2unix [opções] [ARQUIVO ...] [-n ARQENT ARQSAÍDA ...]
unix2dos [opções] [ARQUIVO ...] [-n ARQENT ARQSAÍDA ...]</code></pre>
<h1 id="DESCRIO">DESCRIÇÃO</h1>
<p>O pacote Dos2unix inclui utilitários de <code>dos2unix</code> e <code>unix2dos</code> para converter arquivos texto nos formatos DOS ou Mac para formato Unix e vice-versa.</p>
<p>Em arquivos texto DOS/Windows uma quebra de linha, também conhecida como nova linha, é uma combinação de dois caracteres: um Carriage Return (CR) seguido por um Line Feed (LF). Em arquivos texto do Unix uma quebra de linha é um único caractere: o Line Feed (LF). Em arquivos texto do Mac, anteriores ao Mac OS X, uma quebra de linha era um único caractere Carriage Return (CR). Hoje em dia, Mac OS usa quebras de linha no estilo do Unix (LF).</p>
<p>Além das quebras de linhas, Dos2unix também pode converter as codificações de arquivos. Algumas poucas páginas podem ser convertidos para Latin-1 para Unix. E arquivos Unicode do Windows (UTF-16) podem ser convertidos para arquivos Unicode do Unix (UTF-8).</p>
<p>Arquivos binários são ignorados automaticamente, a menos que a conversão seja forçada.</p>
<p>Arquivos não regulares, tais como diretórios e FIFOs, são ignorados automaticamente.</p>
<p>Ligações simbólicas e seus alvos são por padrão mantidas intocáveis. Ligações simbólicas podem opcionalmente ser substituídas, ou a saída pode ser escrita para o alvo das ligações simbólicas. Não há suporte às ligações simbólicas do Windows.</p>
<p>Dos2unix foi modelado seguindo dos2unix do SunOS/Solaris. Há uma diferença importante em relação à versão original do SunOS/Solaris. Essa versão faz conversão no-lugar (modo arquivo antigo) por padrão, enquanto a versão original do SunOS/Solaris fornecia suporte apenas a conversão pareada (modo de novo arquivo). Veja também as opções <code>-o</code> e <code>-n</code>.</p>
<h1 id="OPES">OPÇÕES</h1>
<dl>
<dt id="pod"><b>--</b></dt>
<dd>
<p>Trata as opções seguintes como nomes de arquivos. Use essa opção se você quiser converter arquivos cujos nomes iniciam com um traço. Por exemplo, para converter um arquivo chamado "foo", você pode usar este comando:</p>
<pre><code> dos2unix -- -foo</code></pre>
<p>Ou em modo de novo arquivo:</p>
<pre><code> dos2unix -n -- -foo saída.txt</code></pre>
</dd>
<dt id="ascii"><b>-ascii</b></dt>
<dd>
<p>Converte apenas as quebras de linhas. Esse é o modo de conversão padrão.</p>
</dd>
<dt id="iso"><b>-iso</b></dt>
<dd>
<p>Conversão entre conjunto de caractere do DOS e ISO-8859-1. Veja também a seção MODOS DE CONVERSÃO.</p>
</dd>
<dt id="pod-1252"><b>-1252</b></dt>
<dd>
<p>Usa a página de código 1252 do Windows (Europa ocidental).</p>
</dd>
<dt id="pod-437"><b>-437</b></dt>
<dd>
<p>Usa a página de código 437 do DOS (EUA). Essa é a página de código padrão usada para conversão ISO.</p>
</dd>
<dt id="pod-850"><b>-850</b></dt>
<dd>
<p>Usa a página de código 850 do DOS (Europa ocidental).</p>
</dd>
<dt id="pod-860"><b>-860</b></dt>
<dd>
<p>Usa a página de código 860 do DOS (Português).</p>
</dd>
<dt id="pod-863"><b>-863</b></dt>
<dd>
<p>Usa a página de código 863 do DOS (Francês do Canadá).</p>
</dd>
<dt id="pod-865"><b>-865</b></dt>
<dd>
<p>Usa a página de código 865 do DOS (Nórdico).</p>
</dd>
<dt id="pod-7"><b>-7</b></dt>
<dd>
<p>Converte caracteres de 8 bit para espaço de 7 bit.</p>
</dd>
<dt id="b---keep-bom"><b>-b, --keep-bom</b></dt>
<dd>
<p>Mantém marca de ordem de bytes (BOM). Quando o arquivo de entrada possuir um BOM, escreve um BOM no arquivo de saída. Esse é o comportamento padrão ao converter para quebras de linha do DOS. Veja também a opção <code>-r</code>.</p>
</dd>
<dt id="c---convmode-MODOCONV"><b>-c, --convmode MODOCONV</b></dt>
<dd>
<p>Define o modo de conversão, sendo MODOCONV um dentre: <i>ascii</i>, <i>7bit</i>, <i>iso</i>, <i>mac</i> com ascii sendo o padrão.</p>
</dd>
<dt id="f---force"><b>-f, --force</b></dt>
<dd>
<p>Força a conversão de arquivos binários.</p>
</dd>
<dt id="gb---gb18030"><b>-gb, --gb18030</b></dt>
<dd>
<p>No Windows, arquivos UTF-16 são convertidos, por padrão, para UTF-8, independentemente da localização definida. Use esta opção para converter arquivos UTF-16 para GB18030. Essa opção está disponível apenas no Windows. Veja também a seção GB18030.</p>
</dd>
<dt id="h---help"><b>-h, --help</b></dt>
<dd>
<p>Exibe ajuda e sai.</p>
</dd>
<dt id="i-OPES---info-OPES-ARQUIVO"><b>-i[OPÇÕES], --info[=OPÇÕES] ARQUIVO ...</b></dt>
<dd>
<p>Exibe informação do arquivo. Nenhuma conversão é feita.</p>
<p>A seguinte informação é exibida, nesta ordem: número de quebras de linha do DOS, número de quebras de linha do Unix, número de quebras de linha do Mac, marca de ordem de byte, "text" ou "binário", nome de arquivo.</p>
<p>Saída de exemplo:</p>
<pre><code> 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</code></pre>
<p>Opcionalmente, opções extra podem ser definidas para alterar a saída. Uma ou mais opções podem ser adicionadas.</p>
<dl>
<dt id="d"><b>d</b></dt>
<dd>
<p>Exibe o número de quebras de linhas do DOS.</p>
</dd>
<dt id="u"><b>u</b></dt>
<dd>
<p>Exibe o número de quebras de linhas do Unix.</p>
</dd>
<dt id="m"><b>m</b></dt>
<dd>
<p>Exibe o número de quebras de linhas do Mac.</p>
</dd>
<dt id="b"><b>b</b></dt>
<dd>
<p>Exibe a marca de ordem de byte.</p>
</dd>
<dt id="t"><b>t</b></dt>
<dd>
<p>Exibe se arquivo é texto ou binário.</p>
</dd>
<dt id="c"><b>c</b></dt>
<dd>
<p>Exib apenas os arquivos que seriam convertidos.</p>
<p>Com a opção <code>c</code>, dos2unix vai exibir apenas os arquivos que contêm quebras de linha do DOS, unix2dos vai exibir apenas os nomes de arquivos que contêm quebras de linha do Unix.</p>
</dd>
</dl>
<p>Exemplos:</p>
<p>Mostra informação sobre todos os arquivos *.txt:</p>
<pre><code> dos2unix -i *.txt</code></pre>
<p>Mostra apenas o número de quebras de linha DOS e Unix:</p>
<pre><code> dos2unix -idu *.txt</code></pre>
<p>Mostra apenas a marca de ordem de byte:</p>
<pre><code> dos2unix --info=b *.txt</code></pre>
<p>Lista os arquivos que possuem quebras de linha do DOS:</p>
<pre><code> dos2unix -ic *.txt</code></pre>
<p>Lista os arquivos que possuem quebras de linha do Unix:</p>
<pre><code> unix2dos -ic *.txt</code></pre>
</dd>
<dt id="k---keepdate"><b>-k, --keepdate</b></dt>
<dd>
<p>Mantém a marca da data do arquivo de saída igual ao do arquivo de entrada.</p>
</dd>
<dt id="L---license"><b>-L, --license</b></dt>
<dd>
<p>Exibe a licença do programa.</p>
</dd>
<dt id="l---newline"><b>-l, --newline</b></dt>
<dd>
<p>Adiciona nova linha adicional.</p>
<p><b>dos2unix</b>: Apenas quebras de linha do DOS são alteradas para duas quebras de linha do Unix. No modo Mac, apenas quebras de linha do Mac são alterados para duas quebras de linha do Unix.</p>
<p><b>unix2dos</b>: Apenas quebras de linha do Unix são alteradas para duas quebras de linha do DOS. No modo Mac, quebras de linha do Unix são alteradas para duas quebras de linha do Mac.</p>
</dd>
<dt id="m---add-bom"><b>-m, --add-bom</b></dt>
<dd>
<p>Escreve uma marca de ordem de byte (BOM) no arquivo de saída. Por padrão, um BOM UTF-8 é escrito.</p>
<p>Quando o arquivo de entrada é UTF-16, e a opção <code>-u</code> é usada, um BOM UTF-16 será escrito.</p>
<p>Nunca use essa opção quando a codificação de saída é outra além de UTF-8 ou UTF-16. Veja também a seção UNICODE.</p>
</dd>
<dt id="n---newfile-ARQENT-ARQSADA"><b>-n, --newfile ARQENT ARQSAÍDA ...</b></dt>
<dd>
<p>Modo de novo arquivo. Converte o arquivo ARQENT e escreve a saída para o arquivo ARQSAÍDA. Os nomes de arquivos devem ser fornecidos em pares e nome coringa <i>não</i> deveriam ser usados ou você <i>vai</i> perder seus arquivos.</p>
<p>A pessoa que começa a conversão em modo novo arquivo (pareado) será o dono do arquivo convertido. As permissões de leitura/escrita do novo arquivo serão as permissões do arquivo original menos a umask(1) da pessoa que executa a conversão.</p>
</dd>
<dt id="o---oldfile-ARQUIVO"><b>-o, --oldfile ARQUIVO ...</b></dt>
<dd>
<p>Modo arquivo antigo. Converte o arquivo ARQUIVO e o sobrescreve com a saída. O programa, por padrão, executa neste modo. Nomes coringas podem ser usados.</p>
<p>No modo de arquivo antigo (no-lugar) o arquivo convertido recebe no mesmo dono, grupo e permissões de leitura/escrita que o arquivo original. Também, quando o arquivo é convertido por outro usuário que tenha permissões de escrita no arquivo (ex.: usuário root). A conversão será abortada quando não for possível preservar os valores originais. Alteração do dono pode significar que o dono original não é mais capaz de ler o arquivo. Alteração do grupo pode ser um risco para a segurança, pois o arquivo pode ficar legível para pessoas cujo acesso não é desejado. Preservação do dono, grupo e permissões de leitura/escrita tem suporte apenas no Unix.</p>
</dd>
<dt id="q---quiet"><b>-q, --quiet</b></dt>
<dd>
<p>Modo quieto. Suprime todos os avios e mensagens. O valor retornado é zero. Exceto quando opções de linha de comando erradas forem usadas.</p>
</dd>
<dt id="r---remove-bom"><b>-r, --remove-bom</b></dt>
<dd>
<p>remove marca de ordem de bytes (BOM). Não escreve um BOM no arquivo de saída. Esse é o comportamento padrão ao converter para quebras de linha Unix. Veja também a opção <code>-b</code>.</p>
</dd>
<dt id="s---safe"><b>-s, --safe</b></dt>
<dd>
<p>Ignora arquivo binários (padrão).</p>
</dd>
<dt id="u---keep-utf16"><b>-u, --keep-utf16</b></dt>
<dd>
<p>Mantém a codificação UTF-16 original do arquivo de entrada. O arquivo de saída será escrito na mesma codificação UTF-16, em little ou big endian, como o arquivo de entrada. Isso evita transformação para UTF-8. Como consequência, um BOM UTF-16 será escrito. Essa opção pode ser desabilitada com a opção <code>-ascii</code>.</p>
</dd>
<dt id="ul---assume-utf16le"><b>-ul, --assume-utf16le</b></dt>
<dd>
<p>Presume que o formato de arquivo de entrada é UTF-16LE.</p>
<p>Quando há uma marca de ordem de byte no arquivo de entrada, esta tem prioridade sobre essa opção.</p>
<p>Quando você fizer uma presunção equivocada (o arquivo de entrada não estava no formato UTF-16LE) e a conversão funcionar, você terá um arquivo de saída UTF-8 com texto errado. Você pode desfazer a conversão errada com iconv(1) pela conversão do arquivo de saída UTF-8 de volta para UTF-16LE. Isso vai trazer de volta o arquivo para o original.</p>
<p>A presunção de UTF-16LE funciona como um <i>modo de conversão</i>. Ao alternara o modo <i>ascii</i> padrão, a presunção de UTF-16LE é desativada.</p>
</dd>
<dt id="ub---assume-utf16be"><b>-ub, --assume-utf16be</b></dt>
<dd>
<p>Presume que o formato de arquivo de entrada é UTF-16BE.</p>
<p>Essa opção funciona o mesmo que a opção <code>-ul</code>.</p>
</dd>
<dt id="v---verbose"><b>-v, --verbose</b></dt>
<dd>
<p>Exibe mensagens detalhadas. Informação extra é exibida sobre marcas de ordem de byte e a quantidade de quebras de linha convertidas.</p>
</dd>
<dt id="F---follow-symlink"><b>-F, --follow-symlink</b></dt>
<dd>
<p>Segue ligações simbólicas e converte os alvos.</p>
</dd>
<dt id="R---replace-symlink"><b>-R, --replace-symlink</b></dt>
<dd>
<p>Substitui ligações simbólicas com arquivos convertidos (arquivos alvo originais permanecem inalterados).</p>
</dd>
<dt id="S---skip-symlink"><b>-S, --skip-symlink</b></dt>
<dd>
<p>Mentém ligações simbólicas e alvos inalterados (padrão).</p>
</dd>
<dt id="V---version"><b>-V, --version</b></dt>
<dd>
<p>Exibe informação da versão e sai.</p>
</dd>
</dl>
<h1 id="MODO-MAC">MODO MAC</h1>
<p>No modo normal, as quebras de linhas são convertidas de DOS para Unix e vice-versa. Quebras de linha do Mac não são convertidas.</p>
<p>No modo Mac, quebras de linha são convertidas de Mac para Unix e vice-versa. Quebras de linha do DOS não são alteradas.</p>
<p>Para executar no modo Mac, use a opção de linha de comando <code>-c mac</code> ou use os comandos <code>mac2unix</code> ou <code>unix2mac</code>.</p>
<h1 id="MODOS-DE-CONVERSO">MODOS DE CONVERSÃO</h1>
<dl>
<dt id="ascii1"><b>ascii</b></dt>
<dd>
<p>No modo <code>ascii</code>, apenas as quebras de linha são convertidas. Esse é o modo de conversão padrão.</p>
<p>Apesar do nome deste modo ser ASCII, o qual é um padrão de 7 bit, o modo é em verdade 8 bit. Sempre use este modo quando quiser converter arquivos Unicode UTF-8.</p>
</dd>
<dt id="bit"><b>7bit</b></dt>
<dd>
<p>Neste modo todos os caracteres não-ASCII de 8 bit (com valores entre 128 e 255) são convertidos para um espaço de 7 bit.</p>
</dd>
<dt id="iso1"><b>iso</b></dt>
<dd>
<p>Caracteres são convertidos entre um conjunto de caracteres do DOS (página de código) e conjunto de caracteres ISO-8859-1 (Latin-1) no Unix. Caracteres de DOS sem um equivalente ISO-8859-1, para os quais a conversão não é possível, são convertidos para um ponto. O mesmo vale para caracteres ISO-8859-1 sem a contraparte DOS.</p>
<p>Quando apenas a opção <code>-iso</code> for usada, dos2unix vai tentar determinar a página de código ativa. Quando isso não for possível, dos2unix vai usar a página de código padrão CP437, a qual é usada principalmente nos EUA. Para forçar uma página de código específica, use as opções <code>-437</code> (EUA), <code>-850</code> (Europeu oriental), <code>-860</code> (Português), <code>-863</code> (Franco-canadense) ou <code>-865</code> (Nórdico). Também há suporte à página de código do Windows CP1252 (Europeu ocidental) com a opção <code>-1252</code>. Para outras páginas de código, use dos2unix em combinação cm iconv(1). Iconv pode converter entre uma lista grande de codificações de caracteres.</p>
<p>Nunca use conversão ISO em arquivos textos Unicode. Isso vai corromper os arquivos codificados em UTF-8.</p>
<p>Alguns exemplos:</p>
<p>Conversão da página de código padrão do DOS para Latin-1 do Unix:</p>
<pre><code> dos2unix -iso -n entrada.txt saída.txt</code></pre>
<p>Conversão da CP850 do DOS para Latin-1 do Unix:</p>
<pre><code> dos2unix -850 -n entrada.txt saída.txt</code></pre>
<p>Conversão da CP1252 do Windows para Latin-1 do Unix:</p>
<pre><code> dos2unix -1252 -n entrada.txt saída.txt</code></pre>
<p>Conversão da CP1252 do Windows para UTF-8 (Unicode) do Unix:</p>
<pre><code> iconv -f CP1252 -t UTF-8 entrada.txt | dos2unix > saída.txt</code></pre>
<p>Conversão de Latin-1 do Unix para página de código padrão do DOS:</p>
<pre><code> unix2dos -iso -n entrada.txt saída.txt</code></pre>
<p>Conversão do Latin-1 do Unix para CP850 do DOS:</p>
<pre><code> unix2dos -850 -n entrada.txt saída.txt</code></pre>
<p>Conversão do Latin-1 do unix para CP1252 do Windows:</p>
<pre><code> unix2dos -1252 -n entrada.txt saída.txt</code></pre>
<p>Conversão do UTF-8 (Unicode) do Unix para CP1252 do Windows:</p>
<pre><code> unix2dos < entrada.txt | iconv -f UTF-8 -t CP1252 > saída.txt</code></pre>
<p>Veja também <a href="http://czyborra.com/charsets/codepages.html">http://czyborra.com/charsets/codepages.html</a> e <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="Codificaes">Codificações</h2>
<p>Exitem codificações Unicode diferentes. No Unix e no Linux, arquivos Unicode são geralmente codificados em UTF-8. No Windows, arquivos texto Unicode podem ser codificados em UTF-8, UTF-16 ou UTF-16 big endian, mas na maioria das vezes são codificados no formato UTF-16.</p>
<h2 id="Converso">Conversão</h2>
<p>Arquivos texto em Unicode pode ter quebras de linha DOS, Unix ou Mac, como arquivos texto comuns.</p>
<p>Todas as versões do dos2unix e unix2dos podem converter arquivos codificados em UTF-8 porque UTF-8 foi projetado para ter compatibilidade reversa com ASCII.</p>
<p>Dos2unix e unix2dos com suporte a Unicode UTF-16 podem ler arquivos texto codificados em little e big endian UTF-16. Para ver se dos2unix foi compilado com suporte a UTF-16, digite <code>dos2unix -V</code>.</p>
<p>No Unix/Linux, arquivos codificados em UTF-16 são convertidos para a codificação de caracteres do localização. Use o comando locale(1) para descobrir qual é a codificação de caracteres da localização. Quando a conversão não for possível, ocorrerá um erro e o arquivo será ignorado.</p>
<p>No Windows, arquivos UTF-16 são convertidos, por padrão, para UTF-8. Arquivos texto formatados em UTF-8 possuem ótimo suporte em ambos Windows e Unix/Linux.</p>
<p>Codificações UTF-16 e UTF-8 são completamente compatíveis, não havendo qualquer perda de texto na conversão. Quando um erro de conversão UTF-16 para UTF-8 ocorre, por exemplo quando o arquivo de entrada UTF-16 contém um erro, o arquivo será ignorado.</p>
<p>Quando a opção <code>-u</code> é usada, o arquivo de saída será escrito na mesma codificação UTF-16 que o arquivo de saída. A opção <code>-u</code> evita conversão para UTF-8.</p>
<p>Dos2unix e unix2dos não possuem opção para converter arquivos UTF-8 ára UTF-16.</p>
<p>Modo de conversão ISO e 7-bit não funciona em arquivos UTF-16.</p>
<h2 id="Marca-de-ordem-de-byte">Marca de ordem de byte</h2>
<p>No Windows, arquivos Unicode normalmente têm uma Marca de Ordem de Byte (BOM), porque muitos programas (incluindo o Bloco de Notas) adiciona BOMs por padrão. Veja também <a href="http://en.wikipedia.org/wiki/Byte_order_mark">http://en.wikipedia.org/wiki/Byte_order_mark</a>.</p>
<p>No Unix, arquivos Unicode normalmente não têm BOM. Presume-se que arquivos texto são codificados na codificação de caracteres da localização.</p>
<p>Dos2unix pode detectar apenas se um arquivo está no formato UTF-16 se o arquivo tiver BOM. Quando um arquivo UTF-16 não tiver BOM, dos2unix vai ver se o arquivo é um arquivo binário.</p>
<p>Use a opção <code>-ul</code> ou <code>-ub</code> para converter um arquivo UTF-16 sem BOM.</p>
<p>Dos2unix escreve por padrão nenhum BOM no arquivo de saída. Com a opção <code>-b</code>, o Dos2unix escreve um BOM quando o arquivo de entrada possuir BOM.</p>
<p>Unix2dos escreve por padrão um BOM no arquivo de saída quando o arquivo de entrada tem BOM. Use a opção <code>-m</code> para remover BOM.</p>
<p>Dos2unix e unix2dos sempre escrevem BOM quando a opção <code>-m</code> é usada.</p>
<h2 id="Exemplos-de-Unicode">Exemplos de Unicode</h2>
<p>Conversão de UTF-16 do Windows (com BOM) para UTF-8 do Unix:</p>
<pre><code> dos2unix -n entrada.txt saída.txt</code></pre>
<p>Conversão de UTF-16LE do Windows (sem BOM) para UTF-8 do Unix:</p>
<pre><code> dos2unix -ul -n entrada.txt saída.txt</code></pre>
<p>Conversão de UTF-8 Unix para UTF-8 do Windows com BOM:</p>
<pre><code> unix2dos -m -n entrada.txt saída.txt</code></pre>
<p>Conversão de UTF-8 do Unix para UTF-16 do Windows:</p>
<pre><code> unix2dos < entrada.txt | iconv -f UTF-8 -t UTF-16 > saída.txt</code></pre>
<h1 id="GB18030">GB18030</h1>
<p>GB18030 é um padrão governamental chinês. Um subconjunto obrigatório do padrão GB18030 é exigido oficialmente para todos os produtos de software vendidos na China. Veja também <a href="http://en.wikipedia.org/wiki/GB_18030">http://en.wikipedia.org/wiki/GB_18030</a>.</p>
<p>GB18030 é completamente compatível com Unicode e pode ser considerado um formato de transformação de unicode. Assim como UTF-8, GB18030 é compatível com ASCII. GB18030 também é compatível com a página de código 936 do Windows, também conhecida como GBK.</p>
<p>No Unix/Linux, arquivos UTF-16 são convertidos para GB18030 quando a codificação da localização é definida para GB18030. Note que isso vai funcionar apenas se a localização estiver definida para China. Por exemplo, em uma configuração de localização inglesa (Britânia) a conversão <code>en_GB.GB18030</code> de UTF-16 para GB18030 não vai funcionar, mas em uma configuração de localização <code>zh_CN.GB18030</code> chinesa vai funcionar.</p>
<p>No Windows, você precisa usar a opção <code>-gb</code> para converter arquivos UTF-16 para GB18030.</p>
<p>Arquivos codificados em GB18030 possuem uma marca de ordem de bytes, como arquivos Unicode.</p>
<h1 id="EXEMPLOS">EXEMPLOS</h1>
<p>Lê a entrada da "stdin" e escreve a saída para "stdout":</p>
<pre><code> dos2unix
dos2unix -l -c mac</code></pre>
<p>Converte e substitui a.txt. Converte e substitui b.txt:</p>
<pre><code> dos2unix a.txt b.txt
dos2unix -o a.txt b.txt</code></pre>
<p>Converte e substitui a.txt no modo de conversão ascii:</p>
<pre><code> dos2unix a.txt</code></pre>
<p>Converte e substitui a.txt no modo de conversão ascii. Converte e substitui b.txt no modo de conversão 7bit:</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>Converte a.txt do formato do Mac para Unix:</p>
<pre><code> dos2unix -c mac a.txt
mac2unix a.txt</code></pre>
<p>Converte a.txt do formato do Unix para Mac:</p>
<pre><code> unix2dos -c mac a.txt
unix2mac a.txt</code></pre>
<p>Converte e substitui a.txt enquanto mantém a marca de data original:</p>
<pre><code> dos2unix -k a.txt
dos2unix -k -o a.txt</code></pre>
<p>Converte a.txt e escreve para e.txt:</p>
<pre><code> dos2unix -n a.txt e.txt</code></pre>
<p>Converte a.txt e escreve para e.txt, mantém a marca de data de e.txt igual a a.txt:</p>
<pre><code> dos2unix -k -n a.txt e.txt</code></pre>
<p>Converte e substitui a.txt. Converte b.txt e escreve para e.txt:</p>
<pre><code> dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt</code></pre>
<p>Converte c.txt e escreve para e.txt. Converte e substitui a.txt. Converte e substitui b.txt. Converte d.txt e escreve para f.txt:</p>
<pre><code> dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt</code></pre>
<h1 id="Converso-recursiva">Conversão recursiva</h1>
<p>Use dos2unix em combinação com os comandos find(1) e xargs(1) para converter recursivamente arquivos texto em uma estrutura de árvore de diretórios. Por exemplo, para converter todos os arquivos .txt na árvore de diretórios sob o diretório atual, digite:</p>
<pre><code> find . -name *.txt |xargs dos2unix</code></pre>
<h1 id="LOCALIZAO">LOCALIZAÇÃO</h1>
<dl>
<dt id="LANG"><b>LANG</b></dt>
<dd>
<p>O idioma primário é selecionado com a variável de ambiente LANG. A variável LANG consiste em várias partes. A primeira parte está em letras pequenas no código do idioma. A segunda parte é opcional e é o código do país em letras maiúsculo, precedido de um ponto. Alguns exemplos para shells do tipo padrão POSIX:</p>
<pre><code> export LANG=nl Holandês
export LANG=nl_NL Holandês, Holanda
export LANG=nl_BE Holandês, Bélgica
export LANG=es_ES Espanhol, Espanha
export LANG=es_MX Espanhol, México
export LANG=en_US.iso88591 Inglês, EUA, codificação Latin-1
export LANG=en_GB.UTF-8 Inglês, Reino Unido, codificação UTF-8</code></pre>
<p>Para a lista completa de códigos de idioma e país, veja o manual do gettext: <a href="http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html">http://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html</a></p>
<p>Nos sistemas Unix, você pode usar o comando locale(1) para obter informação específica da localização.</p>
</dd>
<dt id="LANGUAGE"><b>LANGUAGE</b></dt>
<dd>
<p>Com a variável de ambiente LANGUAGE, você pode especificar uma lista de prioridades de idiomas, separada por vírgulas. Dos2unix fornece preferência à LANGUAGE sobre LANG. Por exemplo, primeiro holandês e, então, alemão: <code>LANGUAGE=nl:de</code>. Você primeiro tem que habilitar localização, definindo LANG (ou LC_ALL) para um valor diferente de "C", antes que você possa usar uma lista de prioridade de idioma por meio da variável LANGUAGE. Veja também o manual do gettext: <a href="http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html">http://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html</a></p>
<p>Se você selecionou um idioma que não está disponível, você vai terá as mensagens em inglês (padrão).</p>
</dd>
<dt id="DOS2UNIX_LOCALEDIR"><b>DOS2UNIX_LOCALEDIR</b></dt>
<dd>
<p>Com a variável de ambiente DOS2UNIX_LOCALEDIR, o LOCALEDIR definido durante a compilação pode ser sobrescrito. LOCALEDIR é usada para localizar os arquivos de idioma. O valor padrão do GNU é <code>/usr/local/share/locale</code>. A opção <b>--version</b> vai exibir o LOCALEDIR que é usado.</p>
<p>Exemplo (shell POSIX):</p>
<pre><code> export DOS2UNIX_LOCALEDIR=$HOME/share/locale</code></pre>
</dd>
</dl>
<h1 id="VALOR-RETORNADO">VALOR RETORNADO</h1>
<p>No sucesso, zero é retornado. Quando um erro de sistema ocorre, o último erro de sistema será retornado. Para outros erros, 1 é retornado.</p>
<p>O valor retornado é sempre zero no modo quieto, exceto quando opções de linha de comando erradas são usadas.</p>
<h1 id="PADRES">PADRÕES</h1>
<p><a href="http://en.wikipedia.org/wiki/Text_file">http://en.wikipedia.org/wiki/Text_file</a></p>
<p><a href="http://en.wikipedia.org/wiki/Carriage_return">http://en.wikipedia.org/wiki/Carriage_return</a></p>
<p><a href="http://en.wikipedia.org/wiki/Newline">http://en.wikipedia.org/wiki/Newline</a></p>
<p><a href="http://en.wikipedia.org/wiki/Unicode">http://en.wikipedia.org/wiki/Unicode</a></p>
<h1 id="AUTORES">AUTORES</h1>
<p>Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (modo mac2unix) - <wuebben@kde.org>, Christian Wurll (adiciona nova linha extra) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (mantenedor)</p>
<p>Página do projeto: <a href="http://waterlan.home.xs4all.nl/dos2unix.html">http://waterlan.home.xs4all.nl/dos2unix.html</a></p>
<p>Página do SourceForge: <a href="http://sourceforge.net/projects/dos2unix/">http://sourceforge.net/projects/dos2unix/</a></p>
<h1 id="Veja-tambm">Veja também</h1>
<p>file(1) find(1) iconv(1) locale(1) xargs(1)</p>
</body>
</html>
|