2 dos2unix - Conversor de formato de arquivo texto de DOS/Mac para Unix e
6 dos2unix [opções] [ARQUIVO ...] [-n ARQENT ARQSAÍDA ...]
7 unix2dos [opções] [ARQUIVO ...] [-n ARQENT ARQSAÍDA ...]
10 O pacote Dos2unix inclui utilitários de "dos2unix" e "unix2dos" para
11 converter arquivos texto nos formatos DOS ou Mac para formato Unix e
14 Em arquivos texto DOS/Windows uma quebra de linha, também conhecida como
15 nova linha, é uma combinação de dois caracteres: um Carriage Return (CR)
16 seguido por um Line Feed (LF). Em arquivos texto do Unix uma quebra de
17 linha é um único caractere: o Line Feed (LF). Em arquivos texto do Mac,
18 anteriores ao Mac OS X, uma quebra de linha era um único caractere
19 Carriage Return (CR). Hoje em dia, Mac OS usa quebras de linha no estilo
22 Além das quebras de linhas, Dos2unix também pode converter as
23 codificações de arquivos. Algumas poucas páginas podem ser convertidos
24 para Latin-1 para Unix. E arquivos Unicode do Windows (UTF-16) podem ser
25 convertidos para arquivos Unicode do Unix (UTF-8).
27 Arquivos binários são ignorados automaticamente, a menos que a conversão
30 Arquivos não regulares, tais como diretórios e FIFOs, são ignorados
33 Ligações simbólicas e seus alvos são por padrão mantidas intocáveis.
34 Ligações simbólicas podem opcionalmente ser substituídas, ou a saída
35 pode ser escrita para o alvo das ligações simbólicas. Não há suporte às
36 ligações simbólicas do Windows.
38 Dos2unix foi modelado seguindo dos2unix do SunOS/Solaris. Há uma
39 diferença importante em relação à versão original do SunOS/Solaris. Essa
40 versão faz conversão no-lugar (modo arquivo antigo) por padrão, enquanto
41 a versão original do SunOS/Solaris fornecia suporte apenas a conversão
42 pareada (modo de novo arquivo). Veja também as opções "-o" e "-n".
45 -- Trata as opções seguintes como nomes de arquivos. Use essa opção se
46 você quiser converter arquivos cujos nomes iniciam com um traço. Por
47 exemplo, para converter um arquivo chamado "foo", você pode usar
52 Ou em modo de novo arquivo:
54 dos2unix -n -- -foo saída.txt
57 Converte apenas as quebras de linhas. Esse é o modo de conversão
61 Conversão entre conjunto de caractere do DOS e ISO-8859-1. Veja
62 também a seção MODOS DE CONVERSÃO.
65 Usa a página de código 1252 do Windows (Europa ocidental).
68 Usa a página de código 437 do DOS (EUA). Essa é a página de código
69 padrão usada para conversão ISO.
72 Usa a página de código 850 do DOS (Europa ocidental).
75 Usa a página de código 860 do DOS (Português).
78 Usa a página de código 863 do DOS (Francês do Canadá).
81 Usa a página de código 865 do DOS (Nórdico).
83 -7 Converte caracteres de 8 bit para espaço de 7 bit.
86 Mantém marca de ordem de bytes (BOM). Quando o arquivo de entrada
87 possuir um BOM, escreve um BOM no arquivo de saída. Esse é o
88 comportamento padrão ao converter para quebras de linha do DOS. Veja
91 -c, --convmode MODOCONV
92 Define o modo de conversão, sendo MODOCONV um dentre: *ascii*,
93 *7bit*, *iso*, *mac* com ascii sendo o padrão.
96 Força a conversão de arquivos binários.
101 -i[OPÇÕES], --info[=OPÇÕES] ARQUIVO ...
102 Exibe informação do arquivo. Nenhuma conversão é feita.
104 A seguinte informação é exibida, nesta ordem: número de quebras de
105 linha do DOS, número de quebras de linha do Unix, número de quebras
106 de linha do Mac, marca de ordem de byte, "text" ou "binário", nome
111 6 0 0 no_bom text dos.txt
112 0 6 0 no_bom text unix.txt
113 0 0 6 no_bom text mac.txt
114 6 6 6 no_bom text mixed.txt
115 50 0 0 UTF-16LE text utf16le.txt
116 0 50 0 no_bom text utf8unix.txt
117 50 0 0 UTF-8 text utf8dos.txt
118 2 418 219 no_bom binary dos2unix.exe
120 Opcionalmente, opções extra podem ser definidas para alterar a
121 saída. Uma ou mais opções podem ser adicionadas.
123 d Exibe o número de quebras de linhas do DOS.
125 u Exibe o número de quebras de linhas do Unix.
127 m Exibe o número de quebras de linhas do Mac.
129 b Exibe a marca de ordem de byte.
131 t Exibe se arquivo é texto ou binário.
133 c Exib apenas os arquivos que seriam convertidos.
135 Com a opção "c", dos2unix vai exibir apenas os arquivos que
136 contêm quebras de linha do DOS, unix2dos vai exibir apenas os
137 nomes de arquivos que contêm quebras de linha do Unix.
141 Mostra informação sobre todos os arquivos *.txt:
145 Mostra apenas o número de quebras de linha DOS e Unix:
149 Mostra apenas a marca de ordem de byte:
151 dos2unix --info=b *.txt
153 Lista os arquivos que possuem quebras de linha do DOS.
157 Lista os arquivos que possuem quebras de linha do Unix.
162 Mantém a marca da data do arquivo de saída igual ao do arquivo de
166 Exibe a licença do programa.
169 Adiciona nova linha adicional.
171 dos2unix: Apenas quebras de linha do DOS são alteradas para duas
172 quebras de linha do Unix. No modo Mac, apenas quebras de linha do
173 Mac são alterados para duas quebras de linha do Unix.
175 unix2dos: Apenas quebras de linha do Unix são alteradas para duas
176 quebras de linha do DOS. No modo Mac, quebras de linha do Unix são
177 alteradas para duas quebras de linha do Mac.
180 Escreve uma marca de ordem de byte (BOM) no arquivo de saída. Por
181 padrão, um BOM UTF-8 é escrito.
183 Quando o arquivo de entrada é UTF-16, e a opção "-u" é usada, um BOM
186 Nunca use essa opção quando a codificação de saída é outra além de
187 UTF-8 ou UTF-16. Veja também a seção UNICODE.
189 -n, --newfile ARQENT ARQSAÍDA ...
190 Modo de novo arquivo. Converte o arquivo ARQENT e escreve a saída
191 para o arquivo ARQSAÍDA. Os nomes de arquivos devem ser fornecidos
192 em pares e nome coringa *não* deveriam ser usados ou você *vai*
193 perder seus arquivos.
195 A pessoa que começa a conversão em modo novo arquivo (pareado) será
196 o dono do arquivo convertido. As permissões de leitura/escrita do
197 novo arquivo serão as permissões do arquivo original menos a
198 umask(1) da pessoa que executa a conversão.
200 -o, --oldfile ARQUIVO ...
201 Modo arquivo antigo. Converte o arquivo ARQUIVO e o sobrescreve com
202 a saída. O programa, por padrão, executa neste modo. Nomes coringas
205 No modo de arquivo antigo (no-lugar) o arquivo convertido recebe no
206 mesmo dono, grupo e permissões de leitura/escrita que o arquivo
207 original. Também, quando o arquivo é convertido por outro usuário
208 que tenha permissões de escrita no arquivo (ex.: usuário root). A
209 conversão será abortada quando não for possível preservar os valores
210 originais. Alteração do dono pode significar que o dono original não
211 é mais capaz de ler o arquivo. Alteração do grupo pode ser um risco
212 para a segurança, pois o arquivo pode ficar legível para pessoas
213 cujo acesso não é desejado. Preservação do dono, grupo e permissões
214 de leitura/escrita tem suporte apenas no Unix.
217 Modo quieto. Suprime todos os avios e mensagens. O valor retornado é
218 zero. Exceto quando opções de linha de comando erradas forem usadas.
221 remove marca de ordem de bytes (BOM). Não escreve um BOM no arquivo
222 de saída. Esse é o comportamento padrão ao converter para quebras de
223 linha Unix. Veja também a opção "-b".
226 Ignora arquivo binários (padrão).
229 Mantém a codificação UTF-16 original do arquivo de entrada. O
230 arquivo de saída será escrito na mesma codificação UTF-16, em little
231 ou big endian, como o arquivo de entrada. Isso evita transformação
232 para UTF-8. Como consequência, um BOM UTF-16 será escrito. Essa
233 opção pode ser desabilitada com a opção "-ascii".
235 -ul, --assume-utf16le
236 Presume que o formato de arquivo de entrada é UTF-16LE.
238 Quando há uma marca de ordem de byte no arquivo de entrada, esta tem
239 prioridade sobre essa opção.
241 Quando você fizer uma presunção equivocada (o arquivo de entrada não
242 estava no formato UTF-16LE) e a conversão funcionar, você terá um
243 arquivo de saída UTF-8 com texto errado. Você pode desfazer a
244 conversão errada com iconv(1) pela conversão do arquivo de saída
245 UTF-8 de volta para UTF-16LE. Isso vai trazer de volta o arquivo
248 A presunção de UTF-16LE funciona como um *modo de conversão*. Ao
249 alternara o modo *ascii* padrão, a presunção de UTF-16LE é
252 -ub, --assume-utf16be
253 Presume que o formato de arquivo de entrada é UTF-16BE.
255 Essa opção funciona o mesmo que a opção "-ul".
258 Exibe mensagens detalhadas. Informação extra é exibida sobre marcas
259 de ordem de byte e a quantidade de quebras de linha convertidas.
262 Segue ligações simbólicas e converte os alvos.
264 -R, --replace-symlink
265 Substitui ligações simbólicas com arquivos convertidos (arquivos
266 alvo originais permanecem inalterados).
269 Mentém ligações simbólicas e alvos inalterados (padrão).
272 Exibe informação da versão e sai.
275 No modo normal, as quebras de linhas são convertidas de DOS para Unix e
276 vice-versa. Quebras de linha do Mac não são convertidas.
278 No modo Mac, quebras de linha são convertidas de Mac para Unix e
279 vice-versa. Quebras de linha do DOS não são alteradas.
281 Para executar no modo Mac, use a opção de linha de comando "-c mac" ou
282 use os comandos "mac2unix" ou "unix2mac".
286 No modo "ascii", apenas as quebras de linha são convertidas. Esse é
287 o modo de conversão padrão.
289 Apesar do nome deste modo ser ASCII, o qual é um padrão de 7 bit, o
290 modo é em verdade 8 bit. Sempre use este modo quando quiser
291 converter arquivos Unicode UTF-8.
294 Neste modo todos os caracteres não-ASCII de 8 bit (com valores entre
295 128 e 255) são convertidos para um espaço de 7 bit.
297 iso Caracteres são convertidos entre um conjunto de caracteres do DOS
298 (página de código) e conjunto de caracteres ISO-8859-1 (Latin-1) no
299 Unix. Caracteres de DOS sem um equivalente ISO-8859-1, para os quais
300 a conversão não é possível, são convertidos para um ponto. O mesmo
301 vale para caracteres ISO-8859-1 sem a contraparte DOS.
303 Quando apenas a opção "-iso" for usada, dos2unix vai tentar
304 determinar a página de código ativa. Quando isso não for possível,
305 dos2unix vai usar a página de código padrão CP437, a qual é usada
306 principalmente nos EUA. Para forçar uma página de código específica,
307 use as opções -437 (EUA), -850 (Europeu oriental), -860 (Português),
308 -863 (Franco-canadense) ou -865 (Nórdico). Também há suporte à
309 página de código do Windows CP1252 (Europeu ocidental) com a opção
310 -1252. Para outras páginas de código, use dos2unix em combinação cm
311 iconv(1). Iconv pode converter entre uma lista grande de
312 codificações de caracteres.
314 Nunca use conversão ISO em arquivos textos Unicode. Isso vai
315 corromper os arquivos codificados em UTF-8.
319 Conversão da página de código padrão do DOS para Latin-1 do Unix
321 dos2unix -iso -n entrada.txt saída.txt
323 Conversão da CP850 do DOS para Latin-1 do Unix
325 dos2unix -850 -n entrada.txt saída.txt
327 Conversão da CP1252 do Windows para Latin-1 do Unix
329 dos2unix -1252 -n entrada.txt saída.txt
331 Conversão da CP1252 do Windows para UTF-8 (Unicode) do Unix
333 iconv -f CP1252 -t UTF-8 entrada.txt | dos2unix > saída.txt
335 Conversão de Latin-1 do Unix para página de código padrão do DOS
337 unix2dos -iso -n entrada.txt saída.txt
339 Conversão do Latin-1 do Unix para CP850 do DOS
341 unix2dos -850 -n entrada.txt saída.txt
343 Conversão do Latin-1 do unix para CP1252 do Windows
345 unix2dos -1252 -n entrada.txt saída.txt
347 Conversão do UTF-8 (Unicode) do Unix para CP1252 do Windows
349 unix2dos < entrada.txt | iconv -f UTF-8 -t CP1252 > saída.txt
351 Veja também <http://czyborra.com/charsets/codepages.html> e
352 <http://czyborra.com/charsets/iso8859.html>.
356 Exitem codificações Unicode diferentes. No Unix e no Linux, arquivos
357 Unicode são geralmente codificados em UTF-8. No Windows, arquivos texto
358 Unicode podem ser codificados em UTF-8, UTF-16 ou UTF-16 big endian, mas
359 na maioria das vezes são codificados no formato UTF-16.
362 Arquivos texto em Unicode pode ter quebras de linha DOS, Unix ou Mac,
363 como arquivos texto comuns.
365 Todas as versões do dos2unix e unix2dos podem converter arquivos
366 codificados em UTF-8 porque UTF-8 foi projetado para ter compatibilidade
369 Dos2unix e unix2dos com suporte a Unicode UTF-16 podem ler arquivos
370 texto codificados em little e big endian UTF-16. Para ver se dos2unix
371 foi compilado com suporte a UTF-16, digite "dos2unix -V".
373 Arquivos codificados em UTF-16 são, por padrão, convertidos para UTF-8.
374 No Unix/Linux, é necessário que a codificação de caracteres da
375 localização esteja definida para UTF-8. Use o comando locale(1) para
376 descobrir qual é a codificação de caracteres da localização. Arquivos
377 textos formatados em UTF-8 possuem suporte em tanto Windows quanto
380 Codificações UTF-16 e UTF-8 são completamente compatíveis, não havendo
381 qualquer perda de texto na conversão. Quando um erro de conversão UTF-16
382 para UTF-8 ocorre, por exemplo quando o arquivo de entrada UTF-16 contém
383 um erro, o arquivo será ignorado.
385 Quando a opção "-u" é usada, o arquivo de saída será escrito na mesma
386 codificação UTF-16 que o arquivo de saída. A opção "-u" evita conversão
389 Dos2unix e unix2dos não possuem opção para converter arquivos UTF-8 ára
392 Modo de conversão ISO e 7-bit não funciona em arquivos UTF-16.
394 Marca de ordem de byte
395 No Windows, arquivos Unicode normalmente têm uma Marca de Ordem de Byte
396 (BOM), porque muitos programas (incluindo o Bloco de Notas) adiciona
397 BOMs por padrão. Veja também
398 <http://en.wikipedia.org/wiki/Byte_order_mark>.
400 No Unix, arquivos Unicode normalmente não têm BOM. Presume-se que
401 arquivos texto são codificados na codificação de caracteres da
404 Dos2unix pode detectar apenas se um arquivo está no formato UTF-16 se o
405 arquivo tiver BOM. Quando um arquivo UTF-16 não tiver BOM, dos2unix vai
406 ver se o arquivo é um arquivo binário.
408 Use a opção "-ul" ou "-ub" para converter um arquivo UTF-16 sem BOM.
410 Dos2unix escreve por padrão nenhum BOM no arquivo de saída. Com a opção
411 "-b", o Dos2unix escreve um BOM quando o arquivo de entrada possuir BOM.
413 Unix2dos escreve por padrão um BOM no arquivo de saída quando o arquivo
414 de entrada tem BOM. Use a opção "-m" para remover BOM.
416 Dos2unix e unix2dos sempre escrevem BOM quando a opção "-m" é usada.
419 Conversão de UTF-16 do Windows (com BOM) para UTF-8 do Unix
421 dos2unix -n entrada.txt saída.txt
423 Conversão de UTF-16LE do Windows (sem BOM) para UTF-8 do Unix
425 dos2unix -ul -n entrada.txt saída.txt
427 Conversão de UTF-8 Unix para UTF-8 do Windows com BOM
429 unix2dos -m -n entrada.txt saída.txt
431 Conversão de UTF-8 do Unix para UTF-16 do Windows
433 unix2dos < entrada.txt | iconv -f UTF-8 -t UTF-16 > saída.txt
436 Lê a entrada da "stdin" e escreve a saída para "stdout".
441 Converte e substitui a.txt. Converte e substitui b.txt.
444 dos2unix -o a.txt b.txt
446 Converte e substitui a.txt no modo de conversão ascii.
450 Converte e substitui a.txt no modo de conversão ascii. Converte e
451 substitui b.txt no modo de conversão 7bit.
453 dos2unix a.txt -c 7bit b.txt
454 dos2unix -c ascii a.txt -c 7bit b.txt
455 dos2unix -ascii a.txt -7 b.txt
457 Converte a.txt do formato do Mac para Unix.
459 dos2unix -c mac a.txt
462 Converte a.txt do formato do Unix para Mac.
464 unix2dos -c mac a.txt
467 Converte e substitui a.txt enquanto mantém a marca de data original.
472 Converte a.txt e escreve para e.txt.
474 dos2unix -n a.txt e.txt
476 Converte a.txt e escreve para e.txt, mantém a marca de data de e.txt
479 dos2unix -k -n a.txt e.txt
481 Converte e substitui a.txt. Converte b.txt e escreve para e.txt.
483 dos2unix a.txt -n b.txt e.txt
484 dos2unix -o a.txt -n b.txt e.txt
486 Converte c.txt e escreve para e.txt. Converte e substitui a.txt.
487 Converte e substitui b.txt. Converte d.txt e escreve para f.txt.
489 dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
492 Use dos2unix em combinação com os comandos find(1) e xargs(1) para
493 converter recursivamente arquivos texto em uma estrutura de árvore de
494 diretórios. Por exemplo, para converter todos os arquivos .txt na árvore
495 de diretórios sob o diretório atual, digite:
497 find . -name *.txt |xargs dos2unix
501 O idioma primário é selecionado com a variável de ambiente LANG. A
502 variável LANG consiste em várias partes. A primeira parte está em
503 letras pequenas no código do idioma. A segunda parte é opcional e é
504 o código do país em letras maiúsculo, precedido de um ponto. Alguns
505 exemplos para shells do tipo padrão POSIX:
507 export LANG=nl Holandês
508 export LANG=nl_NL Holandês, Holanda
509 export LANG=nl_BE Holandês, Bélgica
510 export LANG=es_ES Espanhol, Espanha
511 export LANG=es_MX Espanhol, México
512 export LANG=en_US.iso88591 Inglês, EUA, codificação Latin-1
513 export LANG=en_GB.UTF-8 Inglês, Reino Unido, codificação UTF-8
515 Para a lista completa de códigos de idioma e país, veja o manual do
517 <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
520 Nos sistemas Unix, você pode usar o comando locale(1) para obter
521 informação específica da localização.
524 Com a variável de ambiente LANGUAGE, você pode especificar uma lista
525 de prioridades de idiomas, separada por vírgulas. Dos2unix fornece
526 preferência a LANGUAGE sobre LANG. Por exemplo, primeiro holandês e,
527 então, alemão: "LANGUAGE=nl:de". Você primeiro tem que habilitar
528 localização, definindo LANG (ou LC_ALL) para um valor diferente de
529 "C", antes que você possa usar uma lista de prioridade de idioma por
530 meio da variável LANGUAGE. Veja também o manual do gettext:
531 <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
534 Se você selecionou um idioma que não está disponível, você vai terá
535 as mensagens em inglês (padrão).
538 Com a variável de ambiente DOS2UNIX_LOCALEDIR, o LOCALEDIR definido
539 durante a compilação pode ser sobrescrito. LOCALEDIR é usada para
540 localizar os arquivos de idioma. O valor padrão do GNU é
541 "/usr/local/share/locale". A opção --version vai exibir o LOCALEDIR
544 Exemplo (shell POSIX):
546 export DOS2UNIX_LOCALEDIR=$HOME/share/locale
549 No sucesso, zero é retornado. Quando um erro de sistema ocorre, o último
550 erro de sistema será retornado. Para outros erros, 1 é retornado.
552 O valor retornado é sempre zero no modo quieto, exceto quando opções de
553 linha de comando erradas são usadas.
556 <http://en.wikipedia.org/wiki/Text_file>
558 <http://en.wikipedia.org/wiki/Carriage_return>
560 <http://en.wikipedia.org/wiki/Newline>
562 <http://en.wikipedia.org/wiki/Unicode>
565 Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (modo
566 mac2unix) - <wuebben@kde.org>, Christian Wurll (adiciona nova linha
567 extra) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl>
570 Página do projeto: <http://waterlan.home.xs4all.nl/dos2unix.html>
572 Página do SourceForge: <http://sourceforge.net/projects/dos2unix/>
575 file(1) find(1) iconv(1) locale(1) xargs(1)