.\" Automatically generated by Pod::Man 4.12 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "dos2unix 1" .TH dos2unix 1 "2020-10-12" "dos2unix" "2020-10-12" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOME" .IX Header "NOME" dos2unix \- Conversor de formato de arquivo texto de DOS/Mac para Unix e vice-versa .SH "SINOPSE" .IX Header "SINOPSE" .Vb 2 \& dos2unix [opções] [ARQUIVO ...] [\-n ARQENT ARQSAÍDA ...] \& unix2dos [opções] [ARQUIVO ...] [\-n ARQENT ARQSAÍDA ...] .Ve .SH "DESCRIÇÃO" .IX Header "DESCRIÇÃO" O pacote Dos2unix inclui utilitários de \f(CW\*(C`dos2unix\*(C'\fR e \f(CW\*(C`unix2dos\*(C'\fR para converter arquivos texto nos formatos \s-1DOS\s0 ou Mac para formato Unix e vice-versa. .PP Em arquivos texto DOS/Windows uma quebra de linha, também conhecida como nova linha, é uma combinação de dois caracteres: um Carriage Return (\s-1CR\s0) seguido por um Line Feed (\s-1LF\s0). Em arquivos texto do Unix uma quebra de linha é um único caractere: o Line Feed (\s-1LF\s0). Em arquivos texto do Mac, anteriores ao Mac \s-1OS X,\s0 uma quebra de linha era um único caractere Carriage Return (\s-1CR\s0). Hoje em dia, Mac \s-1OS\s0 usa quebras de linha no estilo do Unix (\s-1LF\s0). .PP 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 (\s-1UTF\-16\s0) podem ser convertidos para arquivos Unicode do Unix (\s-1UTF\-8\s0). .PP Arquivos binários são ignorados automaticamente, a menos que a conversão seja forçada. .PP Arquivos não regulares, tais como diretórios e FIFOs, são ignorados automaticamente. .PP 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. .PP 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 de 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 \f(CW\*(C`\-o\*(C'\fR e \f(CW\*(C`\-n\*(C'\fR. Uma outra diferença é que a versão SunOS/Solaris usa, por padrão, a conversão de modo do \fIiso\fR enquanto esta versão usa o do \fIascii\fR. .SH "OPÇÕES" .IX Header "OPÇÕES" .IP "\fB\-\-\fR" 4 .IX Item "--" 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 \*(L"foo\*(R", você pode usar este comando: .Sp .Vb 1 \& dos2unix \-\- \-foo .Ve .Sp Ou em modo de novo arquivo: .Sp .Vb 1 \& dos2unix \-n \-\- \-foo saída.txt .Ve .IP "\fB\-\-allow\-chown\fR" 4 .IX Item "--allow-chown" Permite alteração da propriedade de arquivo no modo de arquivo antigo. .Sp Quando esta opção é usada, a conversão não será abortada quando a propriedade do usuário e/ou do grupo do arquivo original não puder ser preservada no modo de arquivo antigo. A conversão continuará e o arquivo convertido receberá a mesma propriedade nova como se tivesse convertido no modo de novo arquivo. Veja também as opções \f(CW\*(C`\-o\*(C'\fR e \f(CW\*(C`\-n\*(C'\fR. Esta opção só está disponível se o dos2unix oferecer suporte a preservação da propriedade do usuário e do grupo de arquivos. .IP "\fB\-ascii\fR" 4 .IX Item "-ascii" Converte apenas as quebras de linhas. Esse é o modo de conversão padrão. .IP "\fB\-iso\fR" 4 .IX Item "-iso" Conversão entre conjunto de caractere do \s-1DOS\s0 e \s-1ISO\-8859\-1.\s0 Veja também a seção \s-1MODOS DE\s0 CONVERSÃO. .IP "\fB\-1252\fR" 4 .IX Item "-1252" Usa a página de código 1252 do Windows (Europa ocidental). .IP "\fB\-437\fR" 4 .IX Item "-437" Usa a página de código 437 do \s-1DOS\s0 (\s-1EUA\s0). Essa é a página de código padrão usada para conversão \s-1ISO.\s0 .IP "\fB\-850\fR" 4 .IX Item "-850" Usa a página de código 850 do \s-1DOS\s0 (Europa ocidental). .IP "\fB\-860\fR" 4 .IX Item "-860" Usa a página de código 860 do \s-1DOS\s0 (Português). .IP "\fB\-863\fR" 4 .IX Item "-863" Usa a página de código 863 do \s-1DOS\s0 (Francês do Canadá). .IP "\fB\-865\fR" 4 .IX Item "-865" Usa a página de código 865 do \s-1DOS\s0 (Nórdico). .IP "\fB\-7\fR" 4 .IX Item "-7" Converte caracteres de 8 bits para espaço de 7 bits. .IP "\fB\-b, \-\-keep\-bom\fR" 4 .IX Item "-b, --keep-bom" Mantém marca de ordem de bytes (\s-1BOM\s0). Quando o arquivo de entrada possuir um \&\s-1BOM,\s0 escreve um \s-1BOM\s0 no arquivo de saída. Esse é o comportamento padrão ao converter para quebras de linha do \s-1DOS.\s0 Veja também a opção \f(CW\*(C`\-r\*(C'\fR. .IP "\fB\-c, \-\-convmode \s-1MODOCONV\s0\fR" 4 .IX Item "-c, --convmode MODOCONV" Define o modo de conversão, sendo \s-1MODOCONV\s0 um dentre: \fIascii\fR, \fI7bit\fR, \&\fIiso\fR, \fImac\fR com ascii sendo o padrão. .IP "\fB\-D, \-\-display\-enc CODIFICAÇÃO\fR" 4 .IX Item "-D, --display-enc CODIFICAÇÃO" Define a codificação do texto exibido, sendo CODIFICAÇÃO um dentre: \fIansi\fR, \&\fIunicode\fR, \fIutf8\fR, \fIutf8bom\fR com ansi sendo o padrão. .Sp Essa opção está disponível apenas no dos2unix para Windows com suporte a nome de arquivo em Unicode. Essa opção não possui efeito nos nomes de arquivos lidos e escritos, apenas em como eles são exibidos. .Sp Há vários métodos para exibir texto em um console Windows baseado na codificação do texto. Todos eles possuem suas próprias vantagens e desvantagens. .RS 4 .IP "\fBansi\fR" 4 .IX Item "ansi" O método padrão do dos2unix é usar o texto codificado em \s-1ANSI. A\s0 sua vantagem é a compatibilidade reversa. Ele funciona com fontes raster e TrueType. Em algumas regiões você pode precisar alterar a página de código \&\s-1OEM\s0 do \s-1DOS\s0 para \s-1ANSI\s0 do sistema Windows usando o comando \f(CW\*(C`chcp\*(C'\fR, porque dos2unix usa a página de código do sistema Windows. .Sp A desvantagem do ansi é que nomes de arquivos internacionais com caracteres fora a página de código padrão do sistema não são exibidos apropriadamente. Você verá um sinal de interrogação, ou um símbolo incorreto. Quando você não utiliza nomes de arquivos estrangeiros, esse método funciona bem. .IP "\fBunicode, unicodebom\fR" 4 .IX Item "unicode, unicodebom" A vantagem da codificação do unicode (o nome Windows para \s-1UTF\-16\s0) é que o texto é normalmente exibido apropriadamente. Não há necessidade para alterar a página de código ativa. Você pode precisar definir a fonte do console para uma fonte TrueType para que caracteres internacionais sejam exibidos apropriadamente. Quando um caractere não está incluído na fonte TrueType, geralmente você vê um pequeno quadrado, algumas vezes com um sinal de interrogação nele. .Sp Quando você usa o console ConEmu todo texto é exibido apropriadamente, porque o ConEmu seleciona automaticamente um fonte boa. .Sp A desvantagem do unicode é que ele não é compatível com \s-1ASCII. A\s0 saída não é fácil de lidar quando você o redireciona para um outro programa. .Sp Quando o método é usado, o texto Unicode será precedido com um \&\s-1BOM\s0 (Byte Order Mark, ou marca de ordem de byte). Um \s-1BOM\s0 é necessário para o redirecionamento, ou \*(L"piping\*(R", correto no PowerShell. .IP "\fButf8, utf8bom\fR" 4 .IX Item "utf8, utf8bom" A vantagem do utf8 é que ele é compatível com \s-1ASCII.\s0 Você precisa definir a fonte do console para uma fonte TrueType. Com uma fonte TrueType, o texto é exibido similar a uma codificação \f(CW\*(C`unicode\*(C'\fR. .Sp A desvantagem é que quando você usa a fonte \*(L"raster\*(R" padrão, caracteres não\-ASCII são exibidos incorretamente. Não apenas nomes de arquivos unicode, mas também mensagens traduzidas ficam ilegíveis. No Windows configurado para uma região leste da Ásia, você pode ver muitas falhas no console quando as mensagens são exibidas. .Sp Em um console ConEmu, o método de codificação utf8 funciona bem. .Sp Quando o método é usado, o texto \s-1UTF\-8\s0 será precedido com um \s-1BOM\s0 (Byte Order Mark, ou marca de ordem de byte). Um \s-1BOM\s0 é necessário para o redirecionamento, ou \*(L"piping\*(R", correto no PowerShell. .RE .RS 4 .Sp A codificação padrão pode ser alterada com a variável de ambiente \&\s-1DOS2UNIX_DISPLAY_ENC\s0 definindo-a para \f(CW\*(C`unicode\*(C'\fR, \f(CW\*(C`unicodebom\*(C'\fR, \f(CW\*(C`utf8\*(C'\fR ou \&\f(CW\*(C`utf8bom\*(C'\fR. .RE .IP "\fB\-f, \-\-force\fR" 4 .IX Item "-f, --force" Força a conversão de arquivos binários. .IP "\fB\-gb, \-\-gb18030\fR" 4 .IX Item "-gb, --gb18030" No Windows, arquivos \s-1UTF\-16\s0 são convertidos, por padrão, para \s-1UTF\-8,\s0 independentemente da localização definida. Use esta opção para converter arquivos \s-1UTF\-16\s0 para \s-1GB18030.\s0 Essa opção está disponível apenas no Windows. Veja também a seção \s-1GB18030.\s0 .IP "\fB\-h, \-\-help\fR" 4 .IX Item "-h, --help" Exibe ajuda e sai. .IP "\fB\-i[OPÇÕES], \-\-info[=OPÇÕES] \s-1ARQUIVO ...\s0\fR" 4 .IX Item "-i[OPÇÕES], --info[=OPÇÕES] ARQUIVO ..." Exibe informação do arquivo. Nenhuma conversão é feita. .Sp A seguinte informação é exibida, nesta ordem: número de quebras de linha do \&\s-1DOS,\s0 número de quebras de linha do Unix, número de quebras de linha do Mac, marca de ordem de byte, \*(L"text\*(R" ou \*(L"binary\*(R", nome de arquivo. .Sp Exemplo de saída: .Sp .Vb 8 \& 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 .Ve .Sp Note que em algumas vezes um arquivo binário pode ser confundido com um arquivo texto. Veja também a opção \f(CW\*(C`\-s\*(C'\fR. .Sp Opcionalmente, opções extra podem ser definidas para alterar a saída. Uma ou mais opções podem ser adicionadas. .RS 4 .IP "\fB0\fR" 4 .IX Item "0" Exibe as linhas de informações de arquivo seguido por um caractere nulo em vez de um caractere de nova linha. Isso habilita interpretação correta de nomes de arquivo com espaços ou aspas quando a opção c é usada. Use essa opção na combinação com opções \f(CW\*(C`\-0\*(C'\fR ou \f(CW\*(C`\-\-null\*(C'\fR do \fBxargs\fR\|(1). .IP "\fBd\fR" 4 .IX Item "d" Exibe o número de quebras de linhas do \s-1DOS.\s0 .IP "\fBu\fR" 4 .IX Item "u" Exibe o número de quebras de linhas do Unix. .IP "\fBm\fR" 4 .IX Item "m" Exibe o número de quebras de linhas do Mac. .IP "\fBb\fR" 4 .IX Item "b" Exibe a marca de ordem de byte. .IP "\fBt\fR" 4 .IX Item "t" Exibe se arquivo é texto ou binário. .IP "\fBc\fR" 4 .IX Item "c" Exibe apenas os arquivos que seriam convertidos. .Sp Com a opção \f(CW\*(C`c\*(C'\fR, dos2unix vai exibir apenas os arquivos que contêm quebras de linha do \s-1DOS,\s0 unix2dos vai exibir apenas os nomes de arquivos que contêm quebras de linha do Unix. .IP "\fBh\fR" 4 .IX Item "h" Exibe um cabeçalho. .IP "\fBp\fR" 4 .IX Item "p" Mostra nomes de arquivos sem caminho. .RE .RS 4 .Sp Exemplos: .Sp Mostra informação sobre todos os arquivos *.txt: .Sp .Vb 1 \& dos2unix \-i *.txt .Ve .Sp Mostra apenas o número de quebras de linha \s-1DOS\s0 e Unix: .Sp .Vb 1 \& dos2unix \-idu *.txt .Ve .Sp Mostra apenas a marca de ordem de byte: .Sp .Vb 1 \& dos2unix \-\-info=b *.txt .Ve .Sp Lista os arquivos que possuem quebras de linha do \s-1DOS:\s0 .Sp .Vb 1 \& dos2unix \-ic *.txt .Ve .Sp Lista os arquivos que possuem quebras de linha do Unix: .Sp .Vb 1 \& unix2dos \-ic *.txt .Ve .Sp Converte apenas arquivos que possuem quebras de linha do \s-1DOS\s0 e não altera outros arquivos: .Sp .Vb 1 \& dos2unix \-ic0 *.txt | xargs \-0 dos2unix .Ve .Sp Localiza arquivos de texto que possuam quebras de linha do \s-1DOS:\s0 .Sp .Vb 1 \& find \-name \*(Aq*.txt\*(Aq \-print0 | xargs \-0 dos2unix \-ic .Ve .RE .IP "\fB\-k, \-\-keepdate\fR" 4 .IX Item "-k, --keepdate" Mantém a marca da data do arquivo de saída igual ao do arquivo de entrada. .IP "\fB\-L, \-\-license\fR" 4 .IX Item "-L, --license" Exibe a licença do programa. .IP "\fB\-l, \-\-newline\fR" 4 .IX Item "-l, --newline" Adiciona nova linha adicional. .Sp \&\fBdos2unix\fR: Apenas quebras de linha do \s-1DOS\s0 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. .Sp \&\fBunix2dos\fR: Apenas quebras de linha do Unix são alteradas para duas quebras de linha do \s-1DOS.\s0 No modo Mac, quebras de linha do Unix são alteradas para duas quebras de linha do Mac. .IP "\fB\-m, \-\-add\-bom\fR" 4 .IX Item "-m, --add-bom" Escreve uma marca de ordem de byte (\s-1BOM\s0) no arquivo de saída. Por padrão, um \&\s-1BOM UTF\-8\s0 é escrito. .Sp Quando o arquivo de entrada é \s-1UTF\-16,\s0 e a opção \f(CW\*(C`\-u\*(C'\fR é usada, um \s-1BOM UTF\-16\s0 será escrito. .Sp Nunca use essa opção quando a codificação de saída é outra além de \s-1UTF\-8, UTF\-16\s0 ou \s-1GB18030.\s0 Veja também a seção \s-1UNICODE.\s0 .IP "\fB\-n, \-\-newfile \s-1ARQENT\s0 ARQSAÍDA ...\fR" 4 .IX Item "-n, --newfile ARQENT ARQSAÍDA ..." Modo de novo arquivo. Converte o arquivo \s-1ARQENT\s0 e escreve a saída para o arquivo ARQSAÍDA. Os nomes de arquivos devem ser fornecidos em pares e nome coringa \fInão\fR deveriam ser usados ou você \fIvai\fR perder seus arquivos. .Sp A pessoa que começa a conversão em modo de 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 \fBumask\fR\|(1) da pessoa que executa a conversão. .IP "\fB\-\-no\-allow\-chown\fR" 4 .IX Item "--no-allow-chown" Não permite alteração da propriedade do arquivo no modo de arquivo antigo (padrão). .Sp Aborta a conversão quando a propriedade do usuário e/ou do grupo do arquivo original não puder ser preservada no modo de arquivo antigo. Veja também as opções \f(CW\*(C`\-o\*(C'\fR e \f(CW\*(C`\-n\*(C'\fR. Esta opção só está disponível se o dos2unix oferecer suporte à preservação da propriedade do usuário e do grupo de arquivos. .IP "\fB\-o, \-\-oldfile \s-1ARQUIVO ...\s0\fR" 4 .IX Item "-o, --oldfile ARQUIVO ..." Modo de arquivo antigo. Converte o arquivo \s-1ARQUIVO\s0 e o sobrescreve com a saída. O programa, por padrão, executa neste modo. Nomes coringas podem ser usados. .Sp 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. .Sp Para verificar se dos2unix oferece suporte à preservação da propriedade de usuário e de grupo de arquivos, digite \f(CW\*(C`dos2unix \-V\*(C'\fR. .Sp A conversão sempre é feita através de um arquivo temporário. Quando um erro ocorre no meio da conversão, o arquivo temporário é excluído e o arquivo original permanece intacto. Quando a conversão é bem sucedida, o arquivo original é substituído pelo arquivo temporário. Você pode ter permissão de gravação no arquivo original, mas nenhuma permissão para colocar a mesma propriedade de usuário e/ou de grupo no arquivo temporário como o arquivo original. Isso significa que você não consegue preservar a propriedade de usuário e/ou de grupo do arquivo original. Neste caso, você pode usar a opção \f(CW\*(C`\-allow\-chown\*(C'\fR para continuar com a conversão: .Sp .Vb 1 \& dos2unix \-\-allow\-chown foo.txt .Ve .Sp Outra opção é usar o novo modo de arquivo: .Sp .Vb 1 \& dos2unix \-n foo.txt foo.txt .Ve .Sp A vantagem da opção \f(CW\*(C`\-\-allow\-chown\*(C'\fR é que você pode usar coringas e as informações de propriedade serão preservadas quando possível. .IP "\fB\-q, \-\-quiet\fR" 4 .IX Item "-q, --quiet" Modo quieto. Suprime todos os avios e mensagens. O valor retornado é zero. Exceto quando opções de linha de comando erradas forem usadas. .IP "\fB\-r, \-\-remove\-bom\fR" 4 .IX Item "-r, --remove-bom" Remove marca de ordem de bytes (\s-1BOM\s0). Não escreve um \s-1BOM\s0 no arquivo de saída. Esse é o comportamento padrão ao converter para quebras de linha Unix. Veja também a opção \f(CW\*(C`\-b\*(C'\fR. .IP "\fB\-s, \-\-safe\fR" 4 .IX Item "-s, --safe" Ignora arquivo binários (padrão). .Sp A ação de ignorar arquivos binários é feita para evitar equívocos acidentais. Fique ciente de que a detecção de arquivos binários não é 100% à prova de erros. Arquivos de entrada são analisados por símbolos binários que, geralmente, não são encontrados em arquivos textos. É possível que um arquivo binário contenha apenas caracteres de texto normais. tal arquivo binário pode ser acidentalmente visto como um arquivo de texto. .IP "\fB\-u, \-\-keep\-utf16\fR" 4 .IX Item "-u, --keep-utf16" Mantém a codificação \s-1UTF\-16\s0 original do arquivo de entrada. O arquivo de saída será escrito na mesma codificação \s-1UTF\-16,\s0 em little ou big endian, como o arquivo de entrada. Isso evita transformação para \s-1UTF\-8.\s0 Como consequência, um \s-1BOM UTF\-16\s0 será escrito. Essa opção pode ser desabilitada com a opção \f(CW\*(C`\-ascii\*(C'\fR. .IP "\fB\-ul, \-\-assume\-utf16le\fR" 4 .IX Item "-ul, --assume-utf16le" Presume que o formato de arquivo de entrada é \s-1UTF\-16LE.\s0 .Sp Quando há uma marca de ordem de byte no arquivo de entrada, esta tem prioridade sobre essa opção. .Sp Quando você fizer uma presunção equivocada (o arquivo de entrada não estava no formato \s-1UTF\-16LE\s0) e a conversão funcionar, você terá um arquivo de saída \&\s-1UTF\-8\s0 com texto errado. Você pode desfazer a conversão errada com \fBiconv\fR\|(1) pela conversão do arquivo de saída \s-1UTF\-8\s0 de volta para \s-1UTF\-16LE.\s0 Isso vai trazer de volta o arquivo para o original. .Sp A presunção de \s-1UTF\-16LE\s0 funciona como um \fImodo de conversão\fR. Ao alternara o modo \fIascii\fR padrão, a presunção de \s-1UTF\-16LE\s0 é desativada. .IP "\fB\-ub, \-\-assume\-utf16be\fR" 4 .IX Item "-ub, --assume-utf16be" Presume que o formato de arquivo de entrada é \s-1UTF\-16BE.\s0 .Sp Essa opção funciona o mesmo que a opção \f(CW\*(C`\-ul\*(C'\fR. .IP "\fB\-v, \-\-verbose\fR" 4 .IX Item "-v, --verbose" Exibe mensagens detalhadas. Informação extra é exibida sobre marcas de ordem de byte e a quantidade de quebras de linha convertidas. .IP "\fB\-F, \-\-follow\-symlink\fR" 4 .IX Item "-F, --follow-symlink" Segue ligações simbólicas e converte os alvos. .IP "\fB\-R, \-\-replace\-symlink\fR" 4 .IX Item "-R, --replace-symlink" Substitui ligações simbólicas com arquivos convertidos (arquivos alvo originais permanecem inalterados). .IP "\fB\-S, \-\-skip\-symlink\fR" 4 .IX Item "-S, --skip-symlink" Mentém ligações simbólicas e alvos inalterados (padrão). .IP "\fB\-V, \-\-version\fR" 4 .IX Item "-V, --version" Exibe informação da versão e sai. .SH "MODO MAC" .IX Header "MODO MAC" No modo normal, as quebras de linhas são convertidas de \s-1DOS\s0 para Unix e vice-versa. Quebras de linha do Mac não são convertidas. .PP No modo Mac, quebras de linha são convertidas de Mac para Unix e vice-versa. Quebras de linha do \s-1DOS\s0 não são alteradas. .PP Para executar no modo Mac, use a opção de linha de comando \f(CW\*(C`\-c mac\*(C'\fR ou use os comandos \f(CW\*(C`mac2unix\*(C'\fR ou \f(CW\*(C`unix2mac\*(C'\fR. .SH "MODOS DE CONVERSÃO" .IX Header "MODOS DE CONVERSÃO" .IP "\fBascii\fR" 4 .IX Item "ascii" No modo \f(CW\*(C`ascii\*(C'\fR, apenas as quebras de linha são convertidas. Esse é o modo de conversão padrão. .Sp Apesar do nome deste modo ser \s-1ASCII,\s0 o qual é um padrão de 7 bits, o modo é em verdade 8 bits. Sempre use este modo quando quiser converter arquivos Unicode \s-1UTF\-8.\s0 .IP "\fB7bit\fR" 4 .IX Item "7bit" Neste modo todos os caracteres não\-ASCII de 8 bits (com valores entre 128 e 255) são convertidos para um espaço de 7 bits. .IP "\fBiso\fR" 4 .IX Item "iso" Caracteres são convertidos entre um conjunto de caracteres do \s-1DOS\s0 (página de código) e conjunto de caracteres \s-1ISO\-8859\-1\s0 (Latin\-1) no Unix. Caracteres de \&\s-1DOS\s0 sem um equivalente \s-1ISO\-8859\-1,\s0 para os quais a conversão não é possível, são convertidos para um ponto. O mesmo vale para caracteres \s-1ISO\-8859\-1\s0 sem a contraparte \s-1DOS.\s0 .Sp Quando apenas a opção \f(CW\*(C`\-iso\*(C'\fR 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 \s-1CP437,\s0 a qual é usada principalmente nos \s-1EUA.\s0 Para forçar uma página de código específica, use as opções \f(CW\*(C`\-437\*(C'\fR (\s-1EUA\s0), \f(CW\*(C`\-850\*(C'\fR (Europeu oriental), \f(CW\*(C`\-860\*(C'\fR (Português), \f(CW\*(C`\-863\*(C'\fR (Franco-canadense) ou \&\f(CW\*(C`\-865\*(C'\fR (Nórdico). Também há suporte à página de código do Windows \s-1CP1252\s0 (Europeu ocidental) com a opção \f(CW\*(C`\-1252\*(C'\fR. Para outras páginas de código, use dos2unix em combinação cm \fBiconv\fR\|(1). Iconv pode converter entre uma lista grande de codificações de caracteres. .Sp Nunca use conversão \s-1ISO\s0 em arquivos textos Unicode. Isso vai corromper os arquivos codificados em \s-1UTF\-8.\s0 .Sp Alguns exemplos: .Sp Conversão da página de código padrão do \s-1DOS\s0 para Latin\-1 do Unix: .Sp .Vb 1 \& dos2unix \-iso \-n entrada.txt saída.txt .Ve .Sp Conversão da \s-1CP850\s0 do \s-1DOS\s0 para Latin\-1 do Unix: .Sp .Vb 1 \& dos2unix \-850 \-n entrada.txt saída.txt .Ve .Sp Conversão da \s-1CP1252\s0 do Windows para Latin\-1 do Unix: .Sp .Vb 1 \& dos2unix \-1252 \-n entrada.txt saída.txt .Ve .Sp Conversão da \s-1CP1252\s0 do Windows para \s-1UTF\-8\s0 (Unicode) do Unix: .Sp .Vb 1 \& iconv \-f CP1252 \-t UTF\-8 entrada.txt | dos2unix > saída.txt .Ve .Sp Conversão de Latin\-1 do Unix para página de código padrão do \s-1DOS:\s0 .Sp .Vb 1 \& unix2dos \-iso \-n entrada.txt saída.txt .Ve .Sp Conversão do Latin\-1 do Unix para \s-1CP850\s0 do \s-1DOS:\s0 .Sp .Vb 1 \& unix2dos \-850 \-n entrada.txt saída.txt .Ve .Sp Conversão do Latin\-1 do unix para \s-1CP1252\s0 do Windows: .Sp .Vb 1 \& unix2dos \-1252 \-n entrada.txt saída.txt .Ve .Sp Conversão do \s-1UTF\-8\s0 (Unicode) do Unix para \s-1CP1252\s0 do Windows: .Sp .Vb 1 \& unix2dos < entrada.txt | iconv \-f UTF\-8 \-t CP1252 > saída.txt .Ve .Sp Veja também e . .SH "UNICODE" .IX Header "UNICODE" .SS "Codificações" .IX Subsection "Codificações" Exitem codificações Unicode diferentes. No Unix e no Linux, arquivos Unicode são geralmente codificados em \s-1UTF\-8.\s0 No Windows, arquivos texto Unicode podem ser codificados em \s-1UTF\-8, UTF\-16\s0 ou \s-1UTF\-16\s0 big endian, mas na maioria das vezes são codificados no formato \s-1UTF\-16.\s0 .SS "Conversão" .IX Subsection "Conversão" Arquivos texto em Unicode pode ter quebras de linha \s-1DOS,\s0 Unix ou Mac, como arquivos texto comuns. .PP Todas as versões do dos2unix e unix2dos podem converter arquivos codificados em \s-1UTF\-8\s0 porque \s-1UTF\-8\s0 foi projetado para ter compatibilidade reversa com \&\s-1ASCII.\s0 .PP Dos2unix e unix2dos com suporte a Unicode \s-1UTF\-16\s0 podem ler arquivos texto codificados em little e big endian \s-1UTF\-16.\s0 Para ver se dos2unix foi compilado com suporte a \s-1UTF\-16,\s0 digite \f(CW\*(C`dos2unix \-V\*(C'\fR. .PP No Unix/Linux, arquivos codificados em \s-1UTF\-16\s0 são convertidos para a codificação de caracteres do localização. Use o comando \fBlocale\fR\|(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. .PP No Windows, arquivos \s-1UTF\-16\s0 são convertidos, por padrão, para \&\s-1UTF\-8.\s0 Arquivos texto formatados em \s-1UTF\-8\s0 possuem ótimo suporte em ambos Windows e Unix/Linux. .PP Codificações \s-1UTF\-16\s0 e \s-1UTF\-8\s0 são completamente compatíveis, não havendo qualquer perda de texto na conversão. Quando um erro de conversão \s-1UTF\-16\s0 para \s-1UTF\-8\s0 ocorre, por exemplo quando o arquivo de entrada \s-1UTF\-16\s0 contém um erro, o arquivo será ignorado. .PP Quando a opção \f(CW\*(C`\-u\*(C'\fR é usada, o arquivo de saída será escrito na mesma codificação \s-1UTF\-16\s0 que o arquivo de saída. A opção \f(CW\*(C`\-u\*(C'\fR evita conversão para \s-1UTF\-8.\s0 .PP Dos2unix e unix2dos não possuem opção para converter arquivos \s-1UTF\-8\s0 para \&\s-1UTF\-16.\s0 .PP Modo de conversão \s-1ISO\s0 e 7 bits não funcionam em arquivos \s-1UTF\-16.\s0 .SS "Marca de ordem de byte" .IX Subsection "Marca de ordem de byte" No Windows, arquivos Unicode normalmente têm uma Marca de Ordem de Byte (\s-1BOM\s0), porque muitos programas (incluindo o Bloco de Notas) adiciona BOMs por padrão. Veja também . .PP No Unix, arquivos Unicode normalmente não têm \s-1BOM.\s0 Presume-se que arquivos texto são codificados na codificação de caracteres da localização. .PP Dos2unix pode detectar apenas se um arquivo está no formato \s-1UTF\-16\s0 se o arquivo tiver \s-1BOM.\s0 Quando um arquivo \s-1UTF\-16\s0 não tiver \s-1BOM,\s0 dos2unix vai ver se o arquivo é um arquivo binário. .PP Use a opção \f(CW\*(C`\-ul\*(C'\fR ou \f(CW\*(C`\-ub\*(C'\fR para converter um arquivo \s-1UTF\-16\s0 sem \s-1BOM.\s0 .PP Dos2unix escreve por padrão nenhum \s-1BOM\s0 no arquivo de saída. Com a opção \&\f(CW\*(C`\-b\*(C'\fR, o Dos2unix escreve um \s-1BOM\s0 quando o arquivo de entrada possuir \s-1BOM.\s0 .PP Unix2dos escreve por padrão um \s-1BOM\s0 no arquivo de saída quando o arquivo de entrada tem \s-1BOM.\s0 Use a opção \f(CW\*(C`\-m\*(C'\fR para remover \s-1BOM.\s0 .PP Dos2unix e unix2dos sempre escrevem \s-1BOM\s0 quando a opção \f(CW\*(C`\-m\*(C'\fR é usada. .SS "Nomes de arquivos Unicode no Windows" .IX Subsection "Nomes de arquivos Unicode no Windows" Dos2unix possui um suporte opcional para leitura e escrita de nomes de arquivos Unicode no Prompt de Comando Windows. Isso significa que dos2unix pode abrir arquivos que possuam caracteres no nome que não são parte da página de código \s-1ANSI\s0 padrão do sistema. Para ver se dos2unix para Windows foi compilado com suporte a nomes de arquivos em Unicode, digite \f(CW\*(C`dos2unix \&\-V\*(C'\fR. .PP Há alguns problemas com a exibição de nomes de arquivos Unicode em um console Windows. Veja a opção \f(CW\*(C`\-D\*(C'\fR, \f(CW\*(C`\-\-display\-enc\*(C'\fR. Para nomes de arquivos pode ser exibido incorretamente, mas os arquivos serão escritos com o nome correto. .SS "Exemplos de Unicode" .IX Subsection "Exemplos de Unicode" Conversão de \s-1UTF\-16\s0 do Windows (com \s-1BOM\s0) para \s-1UTF\-8\s0 do Unix: .PP .Vb 1 \& dos2unix \-n entrada.txt saída.txt .Ve .PP Conversão de \s-1UTF\-16LE\s0 do Windows (sem \s-1BOM\s0) para \s-1UTF\-8\s0 do Unix: .PP .Vb 1 \& dos2unix \-ul \-n entrada.txt saída.txt .Ve .PP Conversão de \s-1UTF\-8\s0 Unix para \s-1UTF\-8\s0 do Windows com \s-1BOM:\s0 .PP .Vb 1 \& unix2dos \-m \-n entrada.txt saída.txt .Ve .PP Conversão de \s-1UTF\-8\s0 do Unix para \s-1UTF\-16\s0 do Windows: .PP .Vb 1 \& unix2dos < entrada.txt | iconv \-f UTF\-8 \-t UTF\-16 > saída.txt .Ve .SH "GB18030" .IX Header "GB18030" \&\s-1GB18030\s0 é um padrão governamental chinês. Um subconjunto obrigatório do padrão \s-1GB18030\s0 é exigido oficialmente para todos os produtos de software vendidos na China. Veja também . .PP \&\s-1GB18030\s0 é completamente compatível com Unicode e pode ser considerado um formato de transformação de unicode. Assim como \s-1UTF\-8, GB18030\s0 é compatível com \s-1ASCII. GB18030\s0 também é compatível com a página de código 936 do Windows, também conhecida como \s-1GBK.\s0 .PP No Unix/Linux, arquivos \s-1UTF\-16\s0 são convertidos para \s-1GB18030\s0 quando a codificação da localização é definida para \s-1GB18030.\s0 Note que isso vai funcionar apenas se o sistemas oferecer suporte à localização. Use o comando \&\f(CW\*(C`locale \-a\*(C'\fR para obter a lista de localizações às quais há suporte. .PP No Windows, você precisa usar a opção \f(CW\*(C`\-gb\*(C'\fR para converter arquivos \s-1UTF\-16\s0 para \s-1GB18030.\s0 .PP Arquivos codificados em \s-1GB18030\s0 possuem uma marca de ordem de bytes, como arquivos Unicode. .SH "EXEMPLOS" .IX Header "EXEMPLOS" Lê a entrada da \*(L"stdin\*(R" e escreve a saída para \*(L"stdout\*(R": .PP .Vb 2 \& dos2unix < a.txt \& cat a.txt | dos2unix .Ve .PP Converte e substitui a.txt. Converte e substitui b.txt: .PP .Vb 2 \& dos2unix a.txt b.txt \& dos2unix \-o a.txt b.txt .Ve .PP Converte e substitui a.txt no modo de conversão ascii: .PP .Vb 1 \& dos2unix a.txt .Ve .PP Converte e substitui a.txt no modo de conversão ascii. Converte e substitui b.txt no modo de conversão 7bit: .PP .Vb 3 \& dos2unix a.txt \-c 7bit b.txt \& dos2unix \-c ascii a.txt \-c 7bit b.txt \& dos2unix \-ascii a.txt \-7 b.txt .Ve .PP Converte a.txt do formato do Mac para Unix: .PP .Vb 2 \& dos2unix \-c mac a.txt \& mac2unix a.txt .Ve .PP Converte a.txt do formato do Unix para Mac: .PP .Vb 2 \& unix2dos \-c mac a.txt \& unix2mac a.txt .Ve .PP Converte e substitui a.txt enquanto mantém a marca de data original: .PP .Vb 2 \& dos2unix \-k a.txt \& dos2unix \-k \-o a.txt .Ve .PP Converte a.txt e escreve para e.txt: .PP .Vb 1 \& dos2unix \-n a.txt e.txt .Ve .PP Converte a.txt e escreve para e.txt, mantém a marca de data de e.txt igual a a.txt: .PP .Vb 1 \& dos2unix \-k \-n a.txt e.txt .Ve .PP Converte e substitui a.txt. Converte b.txt e escreve para e.txt: .PP .Vb 2 \& dos2unix a.txt \-n b.txt e.txt \& dos2unix \-o a.txt \-n b.txt e.txt .Ve .PP 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: .PP .Vb 1 \& dos2unix \-n c.txt e.txt \-o a.txt b.txt \-n d.txt f.txt .Ve .SH "CONVERSÃO RECURSIVA" .IX Header "CONVERSÃO RECURSIVA" Em um shell Unix, os comandos \fBfind\fR\|(1) e \fBxargs\fR\|(1) podem ser usados para executar recursivamente o dos2unix em todos os arquivos texto em uma árvore de diretórios. Por exemplo, para converter todos os arquivos .txt na árvore de diretórios sob o diretório atual, digite: .PP .Vb 1 \& find . \-name \*(Aq*.txt\*(Aq \-print0 |xargs \-0 dos2unix .Ve .PP A opção do \fBfind\fR\|(1) \f(CW\*(C`\-print0\*(C'\fR e a opção correspondente do \fBxargs\fR\|(1) \f(CW\*(C`\-0\*(C'\fR são necessárias quando houver arquivos com espaços ou aspas no nome. Do contrário, essas opções podem ser omitidas. Outra alternativa é usar \fBfind\fR\|(1) com a opção \f(CW\*(C`\-exec\*(C'\fR: .PP .Vb 1 \& find . \-name \*(Aq*.txt\*(Aq \-exec dos2unix {} \e; .Ve .PP Em um Prompt de Comando do Windows o seguinte comando pode ser usado: .PP .Vb 1 \& for /R %G in (*.txt) do dos2unix "%G" .Ve .PP Usuários do PowerShell podem usar o seguinte comando no Windows PowerShell: .PP .Vb 1 \& get\-childitem \-path . \-filter \*(Aq*.txt\*(Aq \-recurse | foreach\-object {dos2unix $_.Fullname} .Ve .SH "LOCALIZAÇÃO" .IX Header "LOCALIZAÇÃO" .IP "\fB\s-1LANG\s0\fR" 4 .IX Item "LANG" O idioma primário é selecionado com a variável de ambiente \s-1LANG. A\s0 variável \&\s-1LANG\s0 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, precedida de um sublinhado. Há também uma terceira parte opcional: codificação de caractere, precedida com um ponto. Alguns exemplos para shells do tipo padrão \s-1POSIX:\s0 .Sp .Vb 7 \& 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 .Ve .Sp Para a lista completa de códigos de idioma e país, veja o manual do gettext: .Sp Nos sistemas Unix, você pode usar o comando \fBlocale\fR\|(1) para obter informação específica da localização. .IP "\fB\s-1LANGUAGE\s0\fR" 4 .IX Item "LANGUAGE" Com a variável de ambiente \s-1LANGUAGE,\s0 você pode especificar uma lista de prioridades de idiomas, separada por vírgulas. Dos2unix fornece preferência à \s-1LANGUAGE\s0 sobre \s-1LANG.\s0 Por exemplo, primeiro holandês e, então, alemão: \&\f(CW\*(C`LANGUAGE=nl:de\*(C'\fR. Você primeiro tem que habilitar localização, definindo \&\s-1LANG\s0 (ou \s-1LC_ALL\s0) para um valor diferente de \*(L"C\*(R", antes que você possa usar uma lista de prioridade de idioma por meio da variável \s-1LANGUAGE.\s0 Veja também o manual do gettext: .Sp Se você selecionou um idioma que não está disponível, você vai terá as mensagens em inglês (padrão). .IP "\fB\s-1DOS2UNIX_LOCALEDIR\s0\fR" 4 .IX Item "DOS2UNIX_LOCALEDIR" Com a variável de ambiente \s-1DOS2UNIX_LOCALEDIR,\s0 o \s-1LOCALEDIR\s0 definido durante a compilação pode ser sobrescrito. \s-1LOCALEDIR\s0 é usada para localizar os arquivos de idioma. O valor padrão do \s-1GNU\s0 é \f(CW\*(C`/usr/local/share/locale\*(C'\fR. A opção \fB\-\-version\fR vai exibir o \s-1LOCALEDIR\s0 que é usado. .Sp Exemplo (shell \s-1POSIX\s0): .Sp .Vb 1 \& export DOS2UNIX_LOCALEDIR=$HOME/share/locale .Ve .SH "VALOR RETORNADO" .IX Header "VALOR RETORNADO" No sucesso, zero é retornado. Quando um erro de sistema ocorre, o último erro de sistema será retornado. Para outros erros, 1 é retornado. .PP O valor retornado é sempre zero no modo quieto, exceto quando opções de linha de comando erradas são usadas. .SH "PADRÕES" .IX Header "PADRÕES" .PP .PP .PP .SH "AUTORES" .IX Header "AUTORES" Benjamin Lin \- Bernd Johannes Wuebben (modo mac2unix) \&\- , Christian Wurll (adiciona nova linha extra) \- , Erwin Waterlander \- (mantenedor) .PP Página do projeto: .PP Página do SourceForge: .SH "VEJA TAMBÉM" .IX Header "VEJA TAMBÉM" \&\fBfile\fR\|(1) \fBfind\fR\|(1) \fBiconv\fR\|(1) \fBlocale\fR\|(1) \fBxargs\fR\|(1)