Initial Windows agent repository

This commit is contained in:
Frank Harris 2026-06-08 10:45:20 -05:00
commit a0db0c2e5b
10589 changed files with 3844063 additions and 0 deletions

View file

@ -0,0 +1,838 @@
<?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.5.6 - 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:ASSI@walter.nonet" />
</head>
<body>
<ul id="index">
<li><a href="#NOME">NOME</a></li>
<li><a href="#SINOPSE">SINOPSE</a></li>
<li><a href="#DESCRI-O">DESCRI&Ccedil;&Atilde;O</a></li>
<li><a href="#OP-ES">OP&Ccedil;&Otilde;ES</a></li>
<li><a href="#MODO-MAC">MODO MAC</a></li>
<li><a href="#MODOS-DE-CONVERS-O">MODOS DE CONVERS&Atilde;O</a></li>
<li><a href="#UNICODE">UNICODE</a>
<ul>
<li><a href="#Codifica-es">Codifica&ccedil;&otilde;es</a></li>
<li><a href="#Convers-o">Convers&atilde;o</a></li>
<li><a href="#Marca-de-ordem-de-byte">Marca de ordem de byte</a></li>
<li><a href="#Nomes-de-arquivos-Unicode-no-Windows">Nomes de arquivos Unicode no Windows</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="#CONVERS-O-RECURSIVA">CONVERS&Atilde;O RECURSIVA</a></li>
<li><a href="#LOCALIZA-O">LOCALIZA&Ccedil;&Atilde;O</a></li>
<li><a href="#VALOR-RETORNADO">VALOR RETORNADO</a></li>
<li><a href="#PADR-ES">PADR&Otilde;ES</a></li>
<li><a href="#AUTORES">AUTORES</a></li>
<li><a href="#VEJA-TAMB-M">VEJA TAMB&Eacute;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&ccedil;&otilde;es] [ARQUIVO ...] [-n ARQENT ARQSA&Iacute;DA ...]
unix2dos [op&ccedil;&otilde;es] [ARQUIVO ...] [-n ARQENT ARQSA&Iacute;DA ...]</code></pre>
<h1 id="DESCRI-O">DESCRI&Ccedil;&Atilde;O</h1>
<p>O pacote dos2unix inclui utilit&aacute;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&eacute;m conhecida como nova linha, &eacute; uma combina&ccedil;&atilde;o de dois caracteres: um Carriage Return (CR) seguido por um Line Feed (LF). Em arquivos texto do Unix uma quebra de linha &eacute; um &uacute;nico caractere: o Line Feed (LF). Em arquivos texto do Mac, anteriores ao Mac OS X, uma quebra de linha era um &uacute;nico caractere Carriage Return (CR). Hoje em dia, Mac OS usa quebras de linha no estilo do Unix (LF).</p>
<p>Al&eacute;m das quebras de linhas, dos2unix tamb&eacute;m pode converter as codifica&ccedil;&otilde;es de arquivos. Algumas poucas p&aacute;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&aacute;rios s&atilde;o ignorados automaticamente, a menos que a convers&atilde;o seja for&ccedil;ada.</p>
<p>Arquivos n&atilde;o regulares, tais como diret&oacute;rios e FIFOs, s&atilde;o ignorados automaticamente.</p>
<p>Liga&ccedil;&otilde;es simb&oacute;licas e seus alvos s&atilde;o por padr&atilde;o mantidas intoc&aacute;veis. Liga&ccedil;&otilde;es simb&oacute;licas podem opcionalmente ser substitu&iacute;das, ou a sa&iacute;da pode ser escrita para o alvo das liga&ccedil;&otilde;es simb&oacute;licas. N&atilde;o h&aacute; suporte &agrave;s liga&ccedil;&otilde;es simb&oacute;licas do Windows.</p>
<p>O dos2unix foi modelado seguindo dos2unix do SunOS/Solaris. H&aacute; uma diferen&ccedil;a importante em rela&ccedil;&atilde;o &agrave; vers&atilde;o original do SunOS/Solaris. Por padr&atilde;o, essa vers&atilde;o faz convers&atilde;o no-lugar (modo de arquivo antigo), enquanto a vers&atilde;o original do SunOS/Solaris fornecia suporte apenas a convers&atilde;o pareada (modo de novo arquivo). Veja tamb&eacute;m as op&ccedil;&otilde;es <code>-o</code> e <code>-n</code>. Uma outra diferen&ccedil;a &eacute; que a vers&atilde;o do SunOS/Solaris usa, por padr&atilde;o, a convers&atilde;o de modo do <i>iso</i> enquanto esta vers&atilde;o usa o do <i>ascii</i>.</p>
<h1 id="OP-ES">OP&Ccedil;&Otilde;ES</h1>
<dl>
<dt id="pod"><b>--</b></dt>
<dd>
<p>Trata as op&ccedil;&otilde;es seguintes como nomes de arquivos. Use essa op&ccedil;&atilde;o se voc&ecirc; quiser converter arquivos cujos nomes iniciam com um tra&ccedil;o. Por exemplo, para converter um arquivo chamado &quot;foo&quot;, voc&ecirc; 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&iacute;da.txt</code></pre>
</dd>
<dt id="allow-chown"><b>--allow-chown</b></dt>
<dd>
<p>Permite altera&ccedil;&atilde;o da propriedade de arquivo no modo de arquivo antigo.</p>
<p>Quando esta op&ccedil;&atilde;o &eacute; usada, a convers&atilde;o n&atilde;o ser&aacute; abortada quando a propriedade do usu&aacute;rio e/ou do grupo do arquivo original n&atilde;o puder ser preservada no modo de arquivo antigo. A convers&atilde;o continuar&aacute; e o arquivo convertido receber&aacute; a mesma propriedade nova como se tivesse convertido no modo de novo arquivo. Veja tamb&eacute;m as op&ccedil;&otilde;es <code>-o</code> e <code>-n</code>. Esta op&ccedil;&atilde;o s&oacute; est&aacute; dispon&iacute;vel se o dos2unix oferecer suporte a preserva&ccedil;&atilde;o da propriedade do usu&aacute;rio e do grupo de arquivos.</p>
</dd>
<dt id="ascii"><b>-ascii</b></dt>
<dd>
<p>Modo de convers&atilde;o padr&atilde;o. Veja tamb&eacute;m a se&ccedil;&atilde;o MODOS DE CONVERS&Atilde;O.</p>
</dd>
<dt id="iso"><b>-iso</b></dt>
<dd>
<p>Convers&atilde;o entre conjunto de caractere do DOS e ISO-8859-1. Veja tamb&eacute;m a se&ccedil;&atilde;o MODOS DE CONVERS&Atilde;O.</p>
</dd>
<dt id="pod-1252"><b>-1252</b></dt>
<dd>
<p>Usa a p&aacute;gina de c&oacute;digo 1252 do Windows (Europa ocidental).</p>
</dd>
<dt id="pod-437"><b>-437</b></dt>
<dd>
<p>Usa a p&aacute;gina de c&oacute;digo 437 do DOS (EUA). Essa &eacute; a p&aacute;gina de c&oacute;digo padr&atilde;o usada para convers&atilde;o ISO.</p>
</dd>
<dt id="pod-850"><b>-850</b></dt>
<dd>
<p>Usa a p&aacute;gina de c&oacute;digo 850 do DOS (Europa ocidental).</p>
</dd>
<dt id="pod-860"><b>-860</b></dt>
<dd>
<p>Usa a p&aacute;gina de c&oacute;digo 860 do DOS (Portugu&ecirc;s).</p>
</dd>
<dt id="pod-863"><b>-863</b></dt>
<dd>
<p>Usa a p&aacute;gina de c&oacute;digo 863 do DOS (Franc&ecirc;s do Canad&aacute;).</p>
</dd>
<dt id="pod-865"><b>-865</b></dt>
<dd>
<p>Usa a p&aacute;gina de c&oacute;digo 865 do DOS (N&oacute;rdico).</p>
</dd>
<dt id="pod-7"><b>-7</b></dt>
<dd>
<p>Converte caracteres de 8 bits para espa&ccedil;o de 7 bits.</p>
</dd>
<dt id="b---keep-bom"><b>-b, --keep-bom</b></dt>
<dd>
<p>Mant&eacute;m marca de ordem de bytes (BOM). Quando o arquivo de entrada possuir um BOM, escreve um BOM no arquivo de sa&iacute;da. Esse &eacute; o comportamento padr&atilde;o ao converter para quebras de linha do DOS. Veja tamb&eacute;m a op&ccedil;&atilde;o <code>-r</code>.</p>
</dd>
<dt id="c---convmode-MODOCONV"><b>-c, --convmode MODOCONV</b></dt>
<dd>
<p>Define o modo de convers&atilde;o, sendo MODOCONV um dentre: <i>ascii</i>, <i>7bit</i>, <i>iso</i>, <i>mac</i> com ascii sendo o padr&atilde;o.</p>
</dd>
<dt id="D---display-enc-CODIFICA-O"><b>-D, --display-enc CODIFICA&Ccedil;&Atilde;O</b></dt>
<dd>
<p>Define a codifica&ccedil;&atilde;o do texto exibido, sendo CODIFICA&Ccedil;&Atilde;O um dentre: <i>ansi</i>, <i>unicode</i>, <i>utf8</i>, <i>utf8bom</i> com ansi sendo o padr&atilde;o.</p>
<p>Essa op&ccedil;&atilde;o est&aacute; dispon&iacute;vel apenas no dos2unix para Windows com suporte a nome de arquivo em Unicode. Essa op&ccedil;&atilde;o n&atilde;o possui efeito nos nomes de arquivos lidos e escritos, apenas em como eles s&atilde;o exibidos.</p>
<p>H&aacute; v&aacute;rios m&eacute;todos para exibir texto em um console Windows baseado na codifica&ccedil;&atilde;o do texto. Todos eles possuem suas pr&oacute;prias vantagens e desvantagens.</p>
<dl>
<dt id="ansi"><b>ansi</b></dt>
<dd>
<p>O m&eacute;todo padr&atilde;o do dos2unix &eacute; usar o texto codificado em ANSI. A sua vantagem &eacute; a compatibilidade reversa. Ele funciona com fontes raster e TrueType. Em algumas regi&otilde;es voc&ecirc; pode precisar alterar a p&aacute;gina de c&oacute;digo OEM do DOS para ANSI do sistema Windows usando o comando <code>chcp</code>, porque dos2unix usa a p&aacute;gina de c&oacute;digo do sistema Windows.</p>
<p>A desvantagem do ansi &eacute; que nomes de arquivos internacionais com caracteres fora a p&aacute;gina de c&oacute;digo padr&atilde;o do sistema n&atilde;o s&atilde;o exibidos apropriadamente. Voc&ecirc; ver&aacute; um sinal de interroga&ccedil;&atilde;o, ou um s&iacute;mbolo incorreto. Quando voc&ecirc; n&atilde;o utiliza nomes de arquivos estrangeiros, esse m&eacute;todo funciona bem.</p>
</dd>
<dt id="unicode-unicodebom"><b>unicode, unicodebom</b></dt>
<dd>
<p>A vantagem da codifica&ccedil;&atilde;o do unicode (o nome Windows para UTF-16) &eacute; que o texto &eacute; normalmente exibido apropriadamente. N&atilde;o h&aacute; necessidade para alterar a p&aacute;gina de c&oacute;digo ativa. Voc&ecirc; pode precisar definir a fonte do console para uma fonte TrueType para que caracteres internacionais sejam exibidos apropriadamente. Quando um caractere n&atilde;o est&aacute; inclu&iacute;do na fonte TrueType, geralmente voc&ecirc; v&ecirc; um pequeno quadrado, algumas vezes com um sinal de interroga&ccedil;&atilde;o nele.</p>
<p>Quando voc&ecirc; usa o console ConEmu todo texto &eacute; exibido apropriadamente, porque o ConEmu seleciona automaticamente um fonte boa.</p>
<p>A desvantagem do unicode &eacute; que ele n&atilde;o &eacute; compat&iacute;vel com ASCII. A sa&iacute;da n&atilde;o &eacute; f&aacute;cil de lidar quando voc&ecirc; o redireciona para um outro programa.</p>
<p>Quando o m&eacute;todo &lt;unicodebom&gt; &eacute; usado, o texto Unicode ser&aacute; precedido com um BOM (Byte Order Mark, ou marca de ordem de byte). Um BOM &eacute; necess&aacute;rio para o redirecionamento, ou &quot;piping&quot;, correto no PowerShell.</p>
</dd>
<dt id="utf8-utf8bom"><b>utf8, utf8bom</b></dt>
<dd>
<p>A vantagem do utf8 &eacute; que ele &eacute; compat&iacute;vel com ASCII. Voc&ecirc; precisa definir a fonte do console para uma fonte TrueType. Com uma fonte TrueType, o texto &eacute; exibido similar a uma codifica&ccedil;&atilde;o <code>unicode</code>.</p>
<p>A desvantagem &eacute; que quando voc&ecirc; usa a fonte &quot;raster&quot; padr&atilde;o, caracteres n&atilde;o-ASCII s&atilde;o exibidos incorretamente. N&atilde;o apenas nomes de arquivos unicode, mas tamb&eacute;m mensagens traduzidas ficam ileg&iacute;veis. No Windows configurado para uma regi&atilde;o leste da &Aacute;sia, voc&ecirc; pode ver muitas falhas no console quando as mensagens s&atilde;o exibidas.</p>
<p>Em um console ConEmu, o m&eacute;todo de codifica&ccedil;&atilde;o utf8 funciona bem.</p>
<p>Quando o m&eacute;todo &lt;utf8bom&gt; &eacute; usado, o texto UTF-8 ser&aacute; precedido com um BOM (Byte Order Mark, ou marca de ordem de byte). Um BOM &eacute; necess&aacute;rio para o redirecionamento, ou &quot;piping&quot;, correto no PowerShell.</p>
</dd>
</dl>
<p>A codifica&ccedil;&atilde;o padr&atilde;o pode ser alterada com a vari&aacute;vel de ambiente DOS2UNIX_DISPLAY_ENC definindo-a para <code>unicode</code>, <code>unicodebom</code>, <code>utf8</code> ou <code>utf8bom</code>.</p>
</dd>
<dt id="e---add-eol"><b>-e, --add-eol</b></dt>
<dd>
<p>Adiciona uma quebra de linha &agrave; &uacute;ltima linha se n&atilde;o houver uma. Isso funciona para todas as convers&otilde;es.</p>
<p>Um arquivo convertido do formato DOS para Unix pode n&atilde;o ter uma quebra de linha na &uacute;ltima linha. Existem editores de texto que escrevem arquivos de texto sem uma quebra de linha na &uacute;ltima linha. Alguns programas Unix t&ecirc;m problemas para processar esses arquivos, porque o padr&atilde;o POSIX define que cada linha em um arquivo de texto deve terminar com um caractere de nova linha de termina&ccedil;&atilde;o. Por exemplo, concatenar arquivos pode n&atilde;o dar o resultado esperado.</p>
</dd>
<dt id="error-binary"><b>--error-binary</b></dt>
<dd>
<p>Retorna um erro se um arquivo bin&aacute;rio for ignorado.</p>
</dd>
<dt id="f---force"><b>-f, --force</b></dt>
<dd>
<p>For&ccedil;a a convers&atilde;o de arquivos bin&aacute;rios.</p>
</dd>
<dt id="gb---gb18030"><b>-gb, --gb18030</b></dt>
<dd>
<p>No Windows, arquivos UTF-16 s&atilde;o convertidos, por padr&atilde;o, para UTF-8, independentemente da localiza&ccedil;&atilde;o definida. Use esta op&ccedil;&atilde;o para converter arquivos UTF-16 para GB18030. Essa op&ccedil;&atilde;o est&aacute; dispon&iacute;vel apenas no Windows. Veja tamb&eacute;m a se&ccedil;&atilde;o GB18030.</p>
</dd>
<dt id="h---help"><b>-h, --help</b></dt>
<dd>
<p>Exibe ajuda e sai.</p>
</dd>
<dt id="i-OP-ES---info-OP-ES-ARQUIVO"><b>-i[OP&Ccedil;&Otilde;ES], --info[=OP&Ccedil;&Otilde;ES] ARQUIVO ...</b></dt>
<dd>
<p>Exibe informa&ccedil;&atilde;o do arquivo. Nenhuma convers&atilde;o &eacute; feita.</p>
<p>A seguinte informa&ccedil;&atilde;o &eacute; exibida, nesta ordem: n&uacute;mero de quebras de linha do DOS, n&uacute;mero de quebras de linha do Unix, n&uacute;mero de quebras de linha do Mac, marca de ordem de byte, &quot;text&quot; ou &quot;binary&quot;, nome de arquivo.</p>
<p>Exemplo de sa&iacute;da:</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>Note que em algumas vezes um arquivo bin&aacute;rio pode ser confundido com um arquivo texto. Veja tamb&eacute;m a op&ccedil;&atilde;o <code>-s</code>.</p>
<p>Se, al&eacute;m disso, a op&ccedil;&atilde;o <code>-e</code> ou <code>--add-eol</code> for usada, o tipo de quebra de linha da &uacute;ltima linha tamb&eacute;m ser&aacute; impresso, ou <code>noeol</code> se n&atilde;o houver nenhuma.</p>
<p>Exemplo de sa&iacute;da:</p>
<pre><code>6 0 0 no_bom text dos dos.txt
0 6 0 no_bom text unix unix.txt
0 0 6 no_bom text mac mac.txt
1 0 0 no_bom text noeol noeol_dos.txt</code></pre>
<p>Opcionalmente, op&ccedil;&otilde;es extra podem ser definidas para alterar a sa&iacute;da. Uma ou mais op&ccedil;&otilde;es podem ser adicionadas.</p>
<dl>
<dt id="pod0"><b>0</b></dt>
<dd>
<p>Exibe as linhas de informa&ccedil;&otilde;es de arquivo seguido por um caractere nulo em vez de um caractere de nova linha. Isso habilita interpreta&ccedil;&atilde;o correta de nomes de arquivo com espa&ccedil;os ou aspas quando a op&ccedil;&atilde;o c &eacute; usada. Use essa op&ccedil;&atilde;o na combina&ccedil;&atilde;o com op&ccedil;&otilde;es <code>-0</code> ou <code>--null</code> do xargs(1).</p>
</dd>
<dt id="d"><b>d</b></dt>
<dd>
<p>Exibe o n&uacute;mero de quebras de linhas do DOS.</p>
</dd>
<dt id="u"><b>u</b></dt>
<dd>
<p>Exibe o n&uacute;mero de quebras de linhas do Unix.</p>
</dd>
<dt id="m"><b>m</b></dt>
<dd>
<p>Exibe o n&uacute;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 &eacute; texto ou bin&aacute;rio.</p>
</dd>
<dt id="e"><b>e</b></dt>
<dd>
<p>Imprime o tipo de quebra de linha da &uacute;ltima linha, ou <code>noeol</code> se n&atilde;o houver nenhuma.</p>
</dd>
<dt id="c"><b>c</b></dt>
<dd>
<p>Exibe apenas os arquivos que seriam convertidos.</p>
<p>Com a op&ccedil;&atilde;o <code>c</code>, dos2unix vai exibir apenas os arquivos que cont&ecirc;m quebras de linha do DOS, unix2dos vai exibir apenas os nomes de arquivos que cont&ecirc;m quebras de linha do Unix.</p>
<p>Se, al&eacute;m disso, a op&ccedil;&atilde;o <code>-e</code> ou <code>--add-eol</code> for usada, os arquivos que n&atilde;o tiverem uma quebra de linha na &uacute;ltima linha tamb&eacute;m ser&atilde;o impressos.</p>
</dd>
<dt id="h"><b>h</b></dt>
<dd>
<p>Exibe um cabe&ccedil;alho.</p>
</dd>
<dt id="p"><b>p</b></dt>
<dd>
<p>Mostra nomes de arquivos sem caminho.</p>
</dd>
</dl>
<p>Exemplos:</p>
<p>Mostra informa&ccedil;&atilde;o sobre todos os arquivos *.txt:</p>
<pre><code>dos2unix -i *.txt</code></pre>
<p>Mostra apenas o n&uacute;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>
<p>Lista os arquivos que t&ecirc;m quebras de linha DOS ou n&atilde;o t&ecirc;m quebra de linha na &uacute;ltima linha:</p>
<pre><code>dos2unix -e -ic *.txt</code></pre>
<p>Converte apenas arquivos que possuem quebras de linha do DOS e n&atilde;o altera outros arquivos:</p>
<pre><code>dos2unix -ic0 *.txt | xargs -0 dos2unix</code></pre>
<p>Localiza arquivos de texto que possuam quebras de linha do DOS:</p>
<pre><code>find -name &#39;*.txt&#39; -print0 | xargs -0 dos2unix -ic</code></pre>
</dd>
<dt id="k---keepdate"><b>-k, --keepdate</b></dt>
<dd>
<p>Mant&eacute;m a marca da data do arquivo de sa&iacute;da igual ao do arquivo de entrada.</p>
</dd>
<dt id="L---license"><b>-L, --license</b></dt>
<dd>
<p>Exibe a licen&ccedil;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&atilde;o alteradas para duas quebras de linha do Unix. No modo Mac, apenas quebras de linha do Mac s&atilde;o alterados para duas quebras de linha do Unix.</p>
<p><b>unix2dos</b>: Apenas quebras de linha do Unix s&atilde;o alteradas para duas quebras de linha do DOS. No modo Mac, quebras de linha do Unix s&atilde;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&iacute;da. Por padr&atilde;o, um BOM UTF-8 &eacute; escrito.</p>
<p>Quando o arquivo de entrada &eacute; UTF-16, e a op&ccedil;&atilde;o <code>-u</code> &eacute; usada, um BOM UTF-16 ser&aacute; escrito.</p>
<p>Nunca use essa op&ccedil;&atilde;o quando a codifica&ccedil;&atilde;o de sa&iacute;da &eacute; outra al&eacute;m de UTF-8, UTF-16 ou GB18030. Veja tamb&eacute;m a se&ccedil;&atilde;o UNICODE.</p>
</dd>
<dt id="n---newfile-ARQENT-ARQSA-DA"><b>-n, --newfile ARQENT ARQSA&Iacute;DA ...</b></dt>
<dd>
<p>Modo de novo arquivo. Converte o arquivo ARQENT e escreve a sa&iacute;da para o arquivo ARQSA&Iacute;DA. Os nomes de arquivos devem ser fornecidos em pares e nome coringa <i>n&atilde;o</i> deveriam ser usados ou voc&ecirc; <i>vai</i> perder seus arquivos.</p>
<p>A pessoa que come&ccedil;a a convers&atilde;o em modo de novo arquivo (pareado) ser&aacute; o dono do arquivo convertido. As permiss&otilde;es de leitura/escrita do novo arquivo ser&atilde;o as permiss&otilde;es do arquivo original menos a umask(1) da pessoa que executa a convers&atilde;o.</p>
</dd>
<dt id="no-allow-chown"><b>--no-allow-chown</b></dt>
<dd>
<p>N&atilde;o permite altera&ccedil;&atilde;o da propriedade do arquivo no modo de arquivo antigo (padr&atilde;o).</p>
<p>Aborta a convers&atilde;o quando a propriedade do usu&aacute;rio e/ou do grupo do arquivo original n&atilde;o puder ser preservada no modo de arquivo antigo. Veja tamb&eacute;m as op&ccedil;&otilde;es <code>-o</code> e <code>-n</code>. Esta op&ccedil;&atilde;o s&oacute; est&aacute; dispon&iacute;vel se o dos2unix oferecer suporte &agrave; preserva&ccedil;&atilde;o da propriedade do usu&aacute;rio e do grupo de arquivos.</p>
</dd>
<dt id="no-add-eol"><b>--no-add-eol</b></dt>
<dd>
<p>N&atilde;o adiciona uma quebra de linha &agrave; &uacute;ltima linha se n&atilde;o houver uma (padr&atilde;o).</p>
</dd>
<dt id="no-error-binary"><b>--no-error-binary</b></dt>
<dd>
<p>N&atilde;o retorna um erro se um arquivo bin&aacute;rio &eacute; ignorado (padr&atilde;o).</p>
</dd>
<dt id="O---to-stdout"><b>-O, --to-stdout</b></dt>
<dd>
<p>Escreve na sa&iacute;da padr&atilde;o, como um filtro Unix. Use a op&ccedil;&atilde;o <code>-o</code> para voltar ao modo de arquivo antigo (in-place).</p>
<p>Combinado com a op&ccedil;&atilde;o <code>-e</code>, os arquivos podem ser concatenados corretamente. Nenhuma &uacute;ltima e primeira linhas mescladas e nenhuma marca de ordem de bytes Unicode no meio do arquivo concatenado. Exemplo:</p>
<pre><code>dos2unix -e -O arquivo1.txt arquivo2.txt &gt; sa&iacute;da.txt</code></pre>
</dd>
<dt id="o---oldfile-ARQUIVO"><b>-o, --oldfile ARQUIVO ...</b></dt>
<dd>
<p>Modo de arquivo antigo. Converte o arquivo ARQUIVO e o sobrescreve com a sa&iacute;da. O programa, por padr&atilde;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&otilde;es de leitura/escrita que o arquivo original. Tamb&eacute;m, quando o arquivo &eacute; convertido por outro usu&aacute;rio que tenha permiss&otilde;es de escrita no arquivo (ex.: usu&aacute;rio root). A convers&atilde;o ser&aacute; abortada quando n&atilde;o for poss&iacute;vel preservar os valores originais. Altera&ccedil;&atilde;o do dono pode significar que o dono original n&atilde;o &eacute; mais capaz de ler o arquivo. Altera&ccedil;&atilde;o do grupo pode ser um risco para a seguran&ccedil;a, pois o arquivo pode ficar leg&iacute;vel para pessoas cujo acesso n&atilde;o &eacute; desejado. Preserva&ccedil;&atilde;o do dono, grupo e permiss&otilde;es de leitura/escrita tem suporte apenas no Unix.</p>
<p>Para verificar se dos2unix oferece suporte &agrave; preserva&ccedil;&atilde;o da propriedade de usu&aacute;rio e de grupo de arquivos, digite <code>dos2unix -V</code>.</p>
<p>A convers&atilde;o sempre &eacute; feita atrav&eacute;s de um arquivo tempor&aacute;rio. Quando um erro ocorre no meio da convers&atilde;o, o arquivo tempor&aacute;rio &eacute; exclu&iacute;do e o arquivo original permanece intacto. Quando a convers&atilde;o &eacute; bem sucedida, o arquivo original &eacute; substitu&iacute;do pelo arquivo tempor&aacute;rio. Voc&ecirc; pode ter permiss&atilde;o de grava&ccedil;&atilde;o no arquivo original, mas nenhuma permiss&atilde;o para colocar a mesma propriedade de usu&aacute;rio e/ou de grupo no arquivo tempor&aacute;rio como o arquivo original. Isso significa que voc&ecirc; n&atilde;o consegue preservar a propriedade de usu&aacute;rio e/ou de grupo do arquivo original. Neste caso, voc&ecirc; pode usar a op&ccedil;&atilde;o <code>-allow-chown</code> para continuar com a convers&atilde;o:</p>
<pre><code>dos2unix --allow-chown foo.txt</code></pre>
<p>Outra op&ccedil;&atilde;o &eacute; usar o novo modo de arquivo:</p>
<pre><code>dos2unix -n foo.txt foo.txt</code></pre>
<p>A vantagem da op&ccedil;&atilde;o <code>--allow-chown</code> &eacute; que voc&ecirc; pode usar coringas e as informa&ccedil;&otilde;es de propriedade ser&atilde;o preservadas quando poss&iacute;vel.</p>
</dd>
<dt id="q---quiet"><b>-q, --quiet</b></dt>
<dd>
<p>Modo quieto. Suprime todos os avios e mensagens. O valor retornado &eacute; zero. Exceto quando op&ccedil;&otilde;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&atilde;o escreve um BOM no arquivo de sa&iacute;da. Esse &eacute; o comportamento padr&atilde;o ao converter para quebras de linha Unix. Veja tamb&eacute;m a op&ccedil;&atilde;o <code>-b</code>.</p>
</dd>
<dt id="s---safe"><b>-s, --safe</b></dt>
<dd>
<p>Ignora arquivo bin&aacute;rios (padr&atilde;o).</p>
<p>A a&ccedil;&atilde;o de ignorar arquivos bin&aacute;rios &eacute; feita para evitar equ&iacute;vocos acidentais. Fique ciente de que a detec&ccedil;&atilde;o de arquivos bin&aacute;rios n&atilde;o &eacute; 100% &agrave; prova de erros. Arquivos de entrada s&atilde;o analisados por s&iacute;mbolos bin&aacute;rios que, geralmente, n&atilde;o s&atilde;o encontrados em arquivos textos. &Eacute; poss&iacute;vel que um arquivo bin&aacute;rio contenha apenas caracteres de texto normais. tal arquivo bin&aacute;rio pode ser acidentalmente visto como um arquivo de texto.</p>
<p>Por padr&atilde;o, n&atilde;o &eacute; retornado nenhum erro quando um arquivo bin&aacute;rio &eacute; ignorado. Quando a op&ccedil;&atilde;o C &lt;--error-binary&gt; &eacute; usada, &eacute; retornado um erro.</p>
</dd>
<dt id="u---keep-utf16"><b>-u, --keep-utf16</b></dt>
<dd>
<p>Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little- or big-endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the <code>-ascii</code> option.</p>
</dd>
<dt id="ul---assume-utf16le"><b>-ul, --assume-utf16le</b></dt>
<dd>
<p>Presume que o formato de arquivo de entrada &eacute; UTF-16LE.</p>
<p>Quando h&aacute; uma marca de ordem de byte no arquivo de entrada, esta tem prioridade sobre essa op&ccedil;&atilde;o.</p>
<p>Quando voc&ecirc; fizer uma presun&ccedil;&atilde;o equivocada (o arquivo de entrada n&atilde;o estava no formato UTF-16LE) e a convers&atilde;o funcionar, voc&ecirc; ter&aacute; um arquivo de sa&iacute;da UTF-8 com texto errado. Voc&ecirc; pode desfazer a convers&atilde;o errada com iconv(1) pela convers&atilde;o do arquivo de sa&iacute;da UTF-8 de volta para UTF-16LE. Isso vai trazer de volta o arquivo para o original.</p>
<p>A presun&ccedil;&atilde;o de UTF-16LE funciona como um <i>modo de convers&atilde;o</i>. Ao alternara o modo <i>ascii</i> padr&atilde;o, a presun&ccedil;&atilde;o de UTF-16LE &eacute; desativada.</p>
</dd>
<dt id="ub---assume-utf16be"><b>-ub, --assume-utf16be</b></dt>
<dd>
<p>Presume que o formato de arquivo de entrada &eacute; UTF-16BE.</p>
<p>Essa op&ccedil;&atilde;o funciona o mesmo que a op&ccedil;&atilde;o <code>-ul</code>.</p>
</dd>
<dt id="v---verbose"><b>-v, --verbose</b></dt>
<dd>
<p>Exibe mensagens detalhadas. Informa&ccedil;&atilde;o extra &eacute; 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&ccedil;&otilde;es simb&oacute;licas e converte os alvos.</p>
</dd>
<dt id="R---replace-symlink"><b>-R, --replace-symlink</b></dt>
<dd>
<p>Substitui liga&ccedil;&otilde;es simb&oacute;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&eacute;m liga&ccedil;&otilde;es simb&oacute;licas e alvos inalterados (padr&atilde;o).</p>
</dd>
<dt id="V---version"><b>-V, --version</b></dt>
<dd>
<p>Exibe informa&ccedil;&atilde;o da vers&atilde;o e sai.</p>
</dd>
</dl>
<h1 id="MODO-MAC">MODO MAC</h1>
<p>Por padr&atilde;o, as quebras de linha s&atilde;o convertidas de DOS para Unix e vice-versa. As quebras de linha do Mac n&atilde;o s&atilde;o convertidas.</p>
<p>No modo Mac, quebras de linha s&atilde;o convertidas de Mac para Unix e vice-versa. Quebras de linha do DOS n&atilde;o s&atilde;o alteradas.</p>
<p>Para executar no modo Mac, use a op&ccedil;&atilde;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-CONVERS-O">MODOS DE CONVERS&Atilde;O</h1>
<dl>
<dt id="ascii1"><b>ascii</b></dt>
<dd>
<p>Este &eacute; o modo de convers&atilde;o padr&atilde;o. Este modo &eacute; para converter arquivos codificados ASCII e compat&iacute;veis com ASCII, como UTF-8. Habilitar o modo <b>ascii</b> desabilita o modo <b>7bit</b> e <b>iso</b>.</p>
<p>Se dos2unix tiver suporte a UTF-16, os arquivos codificados em UTF-16 ser&atilde;o convertidos para a codifica&ccedil;&atilde;o de caracteres de localidade atual em sistemas POSIX e para UTF-8 no Windows. Habilitar o modo <b>ascii</b> desabilita a op&ccedil;&atilde;o de manter a codifica&ccedil;&atilde;o UTF-16 (<code>-u</code>) e as op&ccedil;&otilde;es para assumir a entrada UTF-16 (<code>-ul</code> e <code>-ub</code>). Para ver se dos2unix tem suporte a UTF-16, digite <code>dos2unix -V</code>. Veja tamb&eacute;m a se&ccedil;&atilde;o UNICODE.</p>
</dd>
<dt id="bit"><b>7bit</b></dt>
<dd>
<p>Neste modo todos os caracteres n&atilde;o-ASCII de 8 bits (com valores entre 128 e 255) s&atilde;o convertidos para um espa&ccedil;o de 7 bits.</p>
</dd>
<dt id="iso1"><b>iso</b></dt>
<dd>
<p>Caracteres s&atilde;o convertidos entre um conjunto de caracteres do DOS (p&aacute;gina de c&oacute;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&atilde;o n&atilde;o &eacute; poss&iacute;vel, s&atilde;o convertidos para um ponto. O mesmo vale para caracteres ISO-8859-1 sem a contraparte DOS.</p>
<p>Quando apenas a op&ccedil;&atilde;o <code>-iso</code> for usada, dos2unix vai tentar determinar a p&aacute;gina de c&oacute;digo ativa. Quando isso n&atilde;o for poss&iacute;vel, dos2unix vai usar a p&aacute;gina de c&oacute;digo padr&atilde;o CP437, a qual &eacute; usada principalmente nos EUA. Para for&ccedil;ar uma p&aacute;gina de c&oacute;digo espec&iacute;fica, use as op&ccedil;&otilde;es <code>-437</code> (EUA), <code>-850</code> (Europeu oriental), <code>-860</code> (Portugu&ecirc;s), <code>-863</code> (Franco-canadense) ou <code>-865</code> (N&oacute;rdico). Tamb&eacute;m h&aacute; suporte &agrave; p&aacute;gina de c&oacute;digo do Windows CP1252 (Europeu ocidental) com a op&ccedil;&atilde;o <code>-1252</code>. Para outras p&aacute;ginas de c&oacute;digo, use dos2unix em combina&ccedil;&atilde;o cm iconv(1). Iconv pode converter entre uma lista grande de codifica&ccedil;&otilde;es de caracteres.</p>
<p>Nunca use convers&atilde;o ISO em arquivos textos Unicode. Isso vai corromper os arquivos codificados em UTF-8.</p>
<p>Alguns exemplos:</p>
<p>Convers&atilde;o da p&aacute;gina de c&oacute;digo padr&atilde;o do DOS para Latin-1 do Unix:</p>
<pre><code>dos2unix -iso -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o da CP850 do DOS para Latin-1 do Unix:</p>
<pre><code>dos2unix -850 -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o da CP1252 do Windows para Latin-1 do Unix:</p>
<pre><code>dos2unix -1252 -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o da CP1252 do Windows para UTF-8 (Unicode) do Unix:</p>
<pre><code>iconv -f CP1252 -t UTF-8 entrada.txt | dos2unix &gt; sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o de Latin-1 do Unix para p&aacute;gina de c&oacute;digo padr&atilde;o do DOS:</p>
<pre><code>unix2dos -iso -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o do Latin-1 do Unix para CP850 do DOS:</p>
<pre><code>unix2dos -850 -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o do Latin-1 do unix para CP1252 do Windows:</p>
<pre><code>unix2dos -1252 -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o do UTF-8 (Unicode) do Unix para CP1252 do Windows:</p>
<pre><code>unix2dos &lt; entrada.txt | iconv -f UTF-8 -t CP1252 &gt; sa&iacute;da.txt</code></pre>
<p>See also <a href="https://czyborra.com/charsets/codepages.html">https://czyborra.com/charsets/codepages.html</a> and <a href="https://czyborra.com/charsets/iso8859.html">https://czyborra.com/charsets/iso8859.html</a>.</p>
</dd>
</dl>
<h1 id="UNICODE">UNICODE</h1>
<h2 id="Codifica-es">Codifica&ccedil;&otilde;es</h2>
<p>There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big-endian, but are mostly encoded in UTF-16 format.</p>
<h2 id="Convers-o">Convers&atilde;o</h2>
<p>Arquivos texto em Unicode pode ter quebras de linha DOS, Unix ou Mac, como arquivos texto em ASCII.</p>
<p>Todas as vers&otilde;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 and unix2dos with Unicode UTF-16 support, can read little- and big-endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type <code>dos2unix -V</code>.</p>
<p>No Unix/Linux, arquivos codificados em UTF-16 s&atilde;o convertidos para a codifica&ccedil;&atilde;o de caracteres do localiza&ccedil;&atilde;o. Use o comando locale(1) para descobrir qual &eacute; a codifica&ccedil;&atilde;o de caracteres da localiza&ccedil;&atilde;o. Quando a convers&atilde;o n&atilde;o for poss&iacute;vel, ocorrer&aacute; um erro e o arquivo ser&aacute; ignorado.</p>
<p>No Windows, arquivos UTF-16 s&atilde;o convertidos, por padr&atilde;o, para UTF-8. Arquivos texto formatados em UTF-8 possuem &oacute;timo suporte em ambos Windows e Unix/Linux.</p>
<p>Codifica&ccedil;&otilde;es UTF-16 e UTF-8 s&atilde;o completamente compat&iacute;veis, n&atilde;o havendo qualquer perda de texto na convers&atilde;o. Quando um erro de convers&atilde;o UTF-16 para UTF-8 ocorre, por exemplo quando o arquivo de entrada UTF-16 cont&eacute;m um erro, o arquivo ser&aacute; ignorado.</p>
<p>Quando a op&ccedil;&atilde;o <code>-u</code> &eacute; usada, o arquivo de sa&iacute;da ser&aacute; escrito na mesma codifica&ccedil;&atilde;o UTF-16 que o arquivo de sa&iacute;da. A op&ccedil;&atilde;o <code>-u</code> evita convers&atilde;o para UTF-8.</p>
<p>dos2unix e unix2dos n&atilde;o possuem op&ccedil;&atilde;o para converter arquivos UTF-8 para UTF-16.</p>
<p>Modo de convers&atilde;o ISO e 7 bits n&atilde;o funcionam em arquivos UTF-16.</p>
<h2 id="Marca-de-ordem-de-byte">Marca de ordem de byte</h2>
<p>No Windows, arquivos texto em Unicode normalmente t&ecirc;m uma Marca de Ordem de Byte (BOM), porque muitos programas Windows (incluindo o Bloco de Notas) adiciona BOMs por padr&atilde;o. Veja tamb&eacute;m <a href="https://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte">https://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte</a>.</p>
<p>No Unix, arquivos Unicode normalmente n&atilde;o t&ecirc;m BOM. Presume-se que arquivos texto s&atilde;o codificados na codifica&ccedil;&atilde;o de caracteres da localiza&ccedil;&atilde;o.</p>
<p>dos2unix pode detectar apenas se um arquivo est&aacute; no formato UTF-16 se o arquivo tiver BOM. Quando um arquivo UTF-16 n&atilde;o tiver BOM, dos2unix vai ver se o arquivo &eacute; um arquivo bin&aacute;rio.</p>
<p>Use a op&ccedil;&atilde;o <code>-ul</code> ou <code>-ub</code> para converter um arquivo UTF-16 sem BOM.</p>
<p>dos2unix escreve por padr&atilde;o nenhum BOM no arquivo de sa&iacute;da. Com a op&ccedil;&atilde;o <code>-b</code>, o dos2unix escreve um BOM quando o arquivo de entrada possuir BOM.</p>
<p>unix2dos escreve por padr&atilde;o um BOM no arquivo de sa&iacute;da quando o arquivo de entrada tem BOM. Use a op&ccedil;&atilde;o <code>-m</code> para remover BOM.</p>
<p>dos2unix e unix2dos sempre escrevem BOM quando a op&ccedil;&atilde;o <code>-m</code> &eacute; usada.</p>
<h2 id="Nomes-de-arquivos-Unicode-no-Windows">Nomes de arquivos Unicode no Windows</h2>
<p>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&atilde;o s&atilde;o parte da p&aacute;gina de c&oacute;digo ANSI padr&atilde;o do sistema. Para ver se dos2unix para Windows foi compilado com suporte a nomes de arquivos em Unicode, digite <code>dos2unix -V</code>.</p>
<p>H&aacute; alguns problemas com a exibi&ccedil;&atilde;o de nomes de arquivos Unicode em um console Windows. Veja a op&ccedil;&atilde;o <code>-D</code>, <code>--display-enc</code>. Para nomes de arquivos pode ser exibido incorretamente, mas os arquivos ser&atilde;o escritos com o nome correto.</p>
<h2 id="Exemplos-de-Unicode">Exemplos de Unicode</h2>
<p>Convers&atilde;o de UTF-16 do Windows (com BOM) para UTF-8 do Unix:</p>
<pre><code>dos2unix -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o de UTF-16LE do Windows (sem BOM) para UTF-8 do Unix:</p>
<pre><code>dos2unix -ul -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o de UTF-8 Unix para UTF-8 do Windows com BOM:</p>
<pre><code>unix2dos -m -n entrada.txt sa&iacute;da.txt</code></pre>
<p>Convers&atilde;o de UTF-8 do Unix para UTF-16 do Windows:</p>
<pre><code>unix2dos &lt; entrada.txt | iconv -f UTF-8 -t UTF-16 &gt; sa&iacute;da.txt</code></pre>
<h1 id="GB18030">GB18030</h1>
<p>GB18030 &eacute; um padr&atilde;o do governo chin&ecirc;s. Um subconjunto obrigat&oacute;rio do padr&atilde;o GB18030 &eacute; exigido oficialmente para todos os produtos de software vendidos na China. Veja tamb&eacute;m <a href="http://en.wikipedia.org/wiki/GB_18030">http://en.wikipedia.org/wiki/GB_18030</a>.</p>
<p>GB18030 &eacute; completamente compat&iacute;vel com Unicode e pode ser considerado um formato de transforma&ccedil;&atilde;o de unicode. Assim como UTF-8, GB18030 &eacute; compat&iacute;vel com ASCII. GB18030 tamb&eacute;m &eacute; compat&iacute;vel com a p&aacute;gina de c&oacute;digo 936 do Windows, tamb&eacute;m conhecida como GBK.</p>
<p>No Unix/Linux, arquivos UTF-16 s&atilde;o convertidos para GB18030 quando a codifica&ccedil;&atilde;o da localiza&ccedil;&atilde;o &eacute; definida para GB18030. Note que isso vai funcionar apenas se o sistemas oferecer suporte &agrave; localiza&ccedil;&atilde;o. Use o comando <code>locale -a</code> para obter a lista de localiza&ccedil;&otilde;es &agrave;s quais h&aacute; suporte.</p>
<p>No Windows, voc&ecirc; precisa usar a op&ccedil;&atilde;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&ecirc; a entrada da &quot;stdin&quot; e escreve a sa&iacute;da para &quot;stdout&quot;:</p>
<pre><code>dos2unix &lt; a.txt
cat a.txt | dos2unix</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&atilde;o ascii:</p>
<pre><code>dos2unix a.txt</code></pre>
<p>Converte e substitui a.txt no modo de convers&atilde;o ascii. Converte e substitui b.txt no modo de convers&atilde;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&eacute;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&eacute;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="CONVERS-O-RECURSIVA">CONVERS&Atilde;O RECURSIVA</h1>
<p>Em um shell Unix, os comandos find(1) e xargs(1) podem ser usados para executar recursivamente o dos2unix em todos os arquivos texto em uma &aacute;rvore de diret&oacute;rios. Por exemplo, para converter todos os arquivos .txt na &aacute;rvore de diret&oacute;rios sob o diret&oacute;rio atual, digite:</p>
<pre><code>find . -name &#39;*.txt&#39; -print0 |xargs -0 dos2unix</code></pre>
<p>A op&ccedil;&atilde;o do find(1) <code>-print0</code> e a op&ccedil;&atilde;o correspondente do xargs(1) <code>-0</code> s&atilde;o necess&aacute;rias quando houver arquivos com espa&ccedil;os ou aspas no nome. Do contr&aacute;rio, essas op&ccedil;&otilde;es podem ser omitidas. Outra alternativa &eacute; usar find(1) com a op&ccedil;&atilde;o <code>-exec</code>:</p>
<pre><code>find . -name &#39;*.txt&#39; -exec dos2unix {} \;</code></pre>
<p>Em um Prompt de Comando do Windows o seguinte comando pode ser usado:</p>
<pre><code>for /R %G in (*.txt) do dos2unix &quot;%G&quot;</code></pre>
<p>Usu&aacute;rios do PowerShell podem usar o seguinte comando no Windows PowerShell:</p>
<pre><code>get-childitem -path . -filter &#39;*.txt&#39; -recurse | foreach-object {dos2unix $_.Fullname}</code></pre>
<h1 id="LOCALIZA-O">LOCALIZA&Ccedil;&Atilde;O</h1>
<dl>
<dt id="LANG"><b>LANG</b></dt>
<dd>
<p>O idioma prim&aacute;rio &eacute; selecionado com a vari&aacute;vel de ambiente LANG. A vari&aacute;vel LANG consiste em v&aacute;rias partes. A primeira parte est&aacute; em letras pequenas no c&oacute;digo do idioma. A segunda parte &eacute; opcional e &eacute; o c&oacute;digo do pa&iacute;s em letras mai&uacute;sculo, precedida de um sublinhado. H&aacute; tamb&eacute;m uma terceira parte opcional: codifica&ccedil;&atilde;o de caractere, precedida com um ponto. Alguns exemplos para shells do tipo padr&atilde;o POSIX:</p>
<pre><code>export LANG=nl Holand&ecirc;s
export LANG=nl_NL Holand&ecirc;s, Holanda
export LANG=nl_BE Holand&ecirc;s, B&eacute;lgica
export LANG=es_ES Espanhol, Espanha
export LANG=es_MX Espanhol, M&eacute;xico
export LANG=en_US.iso88591 Ingl&ecirc;s, EUA, codifica&ccedil;&atilde;o Latin-1
export LANG=en_GB.UTF-8 Ingl&ecirc;s, Reino Unido, codifica&ccedil;&atilde;o UTF-8</code></pre>
<p>Para a lista completa de c&oacute;digos de idioma e pa&iacute;s, veja o manual do gettext: <a href="https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html">https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html</a></p>
<p>Nos sistemas Unix, voc&ecirc; pode usar o comando locale(1) para obter informa&ccedil;&atilde;o espec&iacute;fica da localiza&ccedil;&atilde;o.</p>
</dd>
<dt id="LANGUAGE"><b>LANGUAGE</b></dt>
<dd>
<p>Com a vari&aacute;vel de ambiente LANGUAGE, voc&ecirc; pode especificar uma lista de prioridades de idiomas, separada por v&iacute;rgulas. O dos2unix fornece prefer&ecirc;ncia &agrave; LANGUAGE sobre LANG. Por exemplo, primeiro holand&ecirc;s e, ent&atilde;o, alem&atilde;o: <code>LANGUAGE=nl:de</code>. Voc&ecirc; primeiro tem que habilitar localiza&ccedil;&atilde;o, definindo LANG (ou LC_ALL) para valor diferente de &quot;C&quot;, antes que voc&ecirc; possa usar uma lista de prioridade de idiomas por meio da vari&aacute;vel LANGUAGE. Veja tamb&eacute;m o manual do gettext: <a href="https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html">https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html</a></p>
<p>Se voc&ecirc; selecionou um idioma que n&atilde;o est&aacute; dispon&iacute;vel, voc&ecirc; vai ter&aacute; as mensagens em ingl&ecirc;s (padr&atilde;o).</p>
</dd>
<dt id="DOS2UNIX_LOCALEDIR"><b>DOS2UNIX_LOCALEDIR</b></dt>
<dd>
<p>Com a vari&aacute;vel de ambiente DOS2UNIX_LOCALEDIR, o LOCALEDIR definido durante a compila&ccedil;&atilde;o pode ser sobrescrito. LOCALEDIR &eacute; usada para localizar os arquivos de idioma. O valor padr&atilde;o do GNU &eacute; <code>/usr/local/share/locale</code>. A op&ccedil;&atilde;o <b>--version</b> vai exibir o LOCALEDIR que &eacute; 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 &eacute; retornado. Quando um erro de sistema ocorre, o &uacute;ltimo erro de sistema ser&aacute; retornado. Para outros erros, 1 &eacute; retornado.</p>
<p>O valor retornado &eacute; sempre zero no modo quieto, exceto quando op&ccedil;&otilde;es de linha de comando erradas s&atilde;o usadas.</p>
<h1 id="PADR-ES">PADR&Otilde;ES</h1>
<p><a href="https://pt.wikipedia.org/wiki/Arquivo_de_texto">https://pt.wikipedia.org/wiki/Arquivo_de_texto</a></p>
<p><a href="https://pt.wikipedia.org/wiki/Retorno_de_carro">https://pt.wikipedia.org/wiki/Retorno_de_carro</a></p>
<p><a href="https://pt.wikipedia.org/wiki/Nova_linha">https://pt.wikipedia.org/wiki/Nova_linha</a></p>
<p><a href="https://pt.wikipedia.org/wiki/Unicode">https://pt.wikipedia.org/wiki/Unicode</a></p>
<h1 id="AUTORES">AUTORES</h1>
<p>Benjamin Lin - &lt;blin@socs.uts.edu.au&gt; Bernd Johannes Wuebben (modo mac2unix) - &lt;wuebben@kde.org&gt;, Christian Wurll (adiciona nova linha extra) - &lt;wurll@ira.uka.de&gt;, Erwin Waterlander - &lt;waterlan@xs4all.nl&gt; (mantenedor)</p>
<p>Project page: <a href="https://waterlander.net/dos2unix/">https://waterlander.net/dos2unix/</a></p>
<p>P&aacute;gina do SourceForge: <a href="https://sourceforge.net/projects/dos2unix/">https://sourceforge.net/projects/dos2unix/</a></p>
<h1 id="VEJA-TAMB-M">VEJA TAMB&Eacute;M</h1>
<p>file(1) find(1) iconv(1) locale(1) xargs(1)</p>
</body>
</html>

View file

@ -0,0 +1,853 @@
NOME
dos2unix - Conversor de formato de arquivo texto de DOS/Mac para Unix e
vice-versa
SINOPSE
dos2unix [opções] [ARQUIVO ...] [-n ARQENT ARQSAÍDA ...]
unix2dos [opções] [ARQUIVO ...] [-n ARQENT ARQSAÍDA ...]
DESCRIÇÃO
O pacote dos2unix inclui utilitários de "dos2unix" e "unix2dos" para
converter arquivos texto nos formatos DOS ou Mac para formato Unix e
vice-versa.
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).
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).
Arquivos binários são ignorados automaticamente, a menos que a conversão
seja forçada.
Arquivos não regulares, tais como diretórios e FIFOs, são ignorados
automaticamente.
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.
O dos2unix foi modelado seguindo dos2unix do SunOS/Solaris. Há uma
diferença importante em relação à versão original do SunOS/Solaris. Por
padrão, essa versão faz conversão no-lugar (modo de arquivo antigo),
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 "-o" e
"-n". Uma outra diferença é que a versão do SunOS/Solaris usa, por
padrão, a conversão de modo do *iso* enquanto esta versão usa o do
*ascii*.
OPÇÕES
-- 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:
dos2unix -- -foo
Ou em modo de novo arquivo:
dos2unix -n -- -foo saída.txt
--allow-chown
Permite alteração da propriedade de arquivo no modo de arquivo
antigo.
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 "-o" e
"-n". 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.
-ascii
Modo de conversão padrão. Veja também a seção MODOS DE CONVERSÃO.
-iso
Conversão entre conjunto de caractere do DOS e ISO-8859-1. Veja
também a seção MODOS DE CONVERSÃO.
-1252
Usa a página de código 1252 do Windows (Europa ocidental).
-437
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.
-850
Usa a página de código 850 do DOS (Europa ocidental).
-860
Usa a página de código 860 do DOS (Português).
-863
Usa a página de código 863 do DOS (Francês do Canadá).
-865
Usa a página de código 865 do DOS (Nórdico).
-7 Converte caracteres de 8 bits para espaço de 7 bits.
-b, --keep-bom
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 "-r".
-c, --convmode MODOCONV
Define o modo de conversão, sendo MODOCONV um dentre: *ascii*,
*7bit*, *iso*, *mac* com ascii sendo o padrão.
-D, --display-enc CODIFICAÇÃO
Define a codificação do texto exibido, sendo CODIFICAÇÃO um dentre:
*ansi*, *unicode*, *utf8*, *utf8bom* com ansi sendo o padrão.
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.
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.
ansi
O método padrão do dos2unix é usar o texto codificado em ANSI. A
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 OEM do DOS para ANSI do sistema
Windows usando o comando "chcp", porque dos2unix usa a página de
código do sistema Windows.
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.
unicode, unicodebom
A vantagem da codificação do unicode (o nome Windows para
UTF-16) é 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.
Quando você usa o console ConEmu todo texto é exibido
apropriadamente, porque o ConEmu seleciona automaticamente um
fonte boa.
A desvantagem do unicode é que ele não é compatível com ASCII. A
saída não é fácil de lidar quando você o redireciona para um
outro programa.
Quando o método <unicodebom> é usado, o texto Unicode será
precedido com um BOM (Byte Order Mark, ou marca de ordem de
byte). Um BOM é necessário para o redirecionamento, ou "piping",
correto no PowerShell.
utf8, utf8bom
A vantagem do utf8 é que ele é compatível com ASCII. Você
precisa definir a fonte do console para uma fonte TrueType. Com
uma fonte TrueType, o texto é exibido similar a uma codificação
"unicode".
A desvantagem é que quando você usa a fonte "raster" 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.
Em um console ConEmu, o método de codificação utf8 funciona bem.
Quando o método <utf8bom> é usado, o texto UTF-8 será precedido
com um BOM (Byte Order Mark, ou marca de ordem de byte). Um BOM
é necessário para o redirecionamento, ou "piping", correto no
PowerShell.
A codificação padrão pode ser alterada com a variável de ambiente
DOS2UNIX_DISPLAY_ENC definindo-a para "unicode", "unicodebom",
"utf8" ou "utf8bom".
-e, --add-eol
Adiciona uma quebra de linha à última linha se não houver uma. Isso
funciona para todas as conversões.
Um arquivo convertido do formato DOS para Unix pode não ter uma
quebra de linha na última linha. Existem editores de texto que
escrevem arquivos de texto sem uma quebra de linha na última linha.
Alguns programas Unix têm problemas para processar esses arquivos,
porque o padrão POSIX define que cada linha em um arquivo de texto
deve terminar com um caractere de nova linha de terminação. Por
exemplo, concatenar arquivos pode não dar o resultado esperado.
--error-binary
Retorna um erro se um arquivo binário for ignorado.
-f, --force
Força a conversão de arquivos binários.
-gb, --gb18030
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.
-h, --help
Exibe ajuda e sai.
-i[OPÇÕES], --info[=OPÇÕES] ARQUIVO ...
Exibe informação do arquivo. Nenhuma conversão é feita.
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 "binary", nome de
arquivo.
Exemplo de saída:
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
Note que em algumas vezes um arquivo binário pode ser confundido com
um arquivo texto. Veja também a opção "-s".
Se, além disso, a opção "-e" ou "--add-eol" for usada, o tipo de
quebra de linha da última linha também será impresso, ou "noeol" se
não houver nenhuma.
Exemplo de saída:
6 0 0 no_bom text dos dos.txt
0 6 0 no_bom text unix unix.txt
0 0 6 no_bom text mac mac.txt
1 0 0 no_bom text noeol noeol_dos.txt
Opcionalmente, opções extra podem ser definidas para alterar a
saída. Uma ou mais opções podem ser adicionadas.
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 -0 ou "--null" do xargs(1).
d Exibe o número de quebras de linhas do DOS.
u Exibe o número de quebras de linhas do Unix.
m Exibe o número de quebras de linhas do Mac.
b Exibe a marca de ordem de byte.
t Exibe se arquivo é texto ou binário.
e Imprime o tipo de quebra de linha da última linha, ou "noeol" se
não houver nenhuma.
c Exibe apenas os arquivos que seriam convertidos.
Com a opção "c", 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.
Se, além disso, a opção "-e" ou "--add-eol" for usada, os
arquivos que não tiverem uma quebra de linha na última linha
também serão impressos.
h Exibe um cabeçalho.
p Mostra nomes de arquivos sem caminho.
Exemplos:
Mostra informação sobre todos os arquivos *.txt:
dos2unix -i *.txt
Mostra apenas o número de quebras de linha DOS e Unix:
dos2unix -idu *.txt
Mostra apenas a marca de ordem de byte:
dos2unix --info=b *.txt
Lista os arquivos que possuem quebras de linha do DOS:
dos2unix -ic *.txt
Lista os arquivos que possuem quebras de linha do Unix:
unix2dos -ic *.txt
Lista os arquivos que têm quebras de linha DOS ou não têm quebra de
linha na última linha:
dos2unix -e -ic *.txt
Converte apenas arquivos que possuem quebras de linha do DOS e não
altera outros arquivos:
dos2unix -ic0 *.txt | xargs -0 dos2unix
Localiza arquivos de texto que possuam quebras de linha do DOS:
find -name '*.txt' -print0 | xargs -0 dos2unix -ic
-k, --keepdate
Mantém a marca da data do arquivo de saída igual ao do arquivo de
entrada.
-L, --license
Exibe a licença do programa.
-l, --newline
Adiciona nova linha adicional.
dos2unix: 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.
unix2dos: 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.
-m, --add-bom
Escreve uma marca de ordem de byte (BOM) no arquivo de saída. Por
padrão, um BOM UTF-8 é escrito.
Quando o arquivo de entrada é UTF-16, e a opção "-u" é usada, um BOM
UTF-16 será escrito.
Nunca use essa opção quando a codificação de saída é outra além de
UTF-8, UTF-16 ou GB18030. Veja também a seção UNICODE.
-n, --newfile ARQENT ARQSAÍDA ...
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 *não* deveriam ser usados ou você *vai*
perder seus arquivos.
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
umask(1) da pessoa que executa a conversão.
--no-allow-chown
Não permite alteração da propriedade do arquivo no modo de arquivo
antigo (padrão).
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 "-o" e "-n". Esta opção só está disponível se
o dos2unix oferecer suporte à preservação da propriedade do usuário
e do grupo de arquivos.
--no-add-eol
Não adiciona uma quebra de linha à última linha se não houver uma
(padrão).
--no-error-binary
Não retorna um erro se um arquivo binário é ignorado (padrão).
-O, --to-stdout
Escreve na saída padrão, como um filtro Unix. Use a opção "-o" para
voltar ao modo de arquivo antigo (in-place).
Combinado com a opção "-e", os arquivos podem ser concatenados
corretamente. Nenhuma última e primeira linhas mescladas e nenhuma
marca de ordem de bytes Unicode no meio do arquivo concatenado.
Exemplo:
dos2unix -e -O arquivo1.txt arquivo2.txt > saída.txt
-o, --oldfile ARQUIVO ...
Modo de 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.
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.
Para verificar se dos2unix oferece suporte à preservação da
propriedade de usuário e de grupo de arquivos, digite "dos2unix -V".
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
"-allow-chown" para continuar com a conversão:
dos2unix --allow-chown foo.txt
Outra opção é usar o novo modo de arquivo:
dos2unix -n foo.txt foo.txt
A vantagem da opção "--allow-chown" é que você pode usar coringas e
as informações de propriedade serão preservadas quando possível.
-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.
-r, --remove-bom
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 "-b".
-s, --safe
Ignora arquivo binários (padrão).
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.
Por padrão, não é retornado nenhum erro quando um arquivo binário é
ignorado. Quando a opção C <--error-binary> é usada, é retornado um
erro.
-u, --keep-utf16
Keep the original UTF-16 encoding of the input file. The output file
will be written in the same UTF-16 encoding, little- or big-endian,
as the input file. This prevents transformation to UTF-8. An UTF-16
BOM will be written accordingly. This option can be disabled with
the "-ascii" option.
-ul, --assume-utf16le
Presume que o formato de arquivo de entrada é UTF-16LE.
Quando há uma marca de ordem de byte no arquivo de entrada, esta tem
prioridade sobre essa opção.
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.
A presunção de UTF-16LE funciona como um *modo de conversão*. Ao
alternara o modo *ascii* padrão, a presunção de UTF-16LE é
desativada.
-ub, --assume-utf16be
Presume que o formato de arquivo de entrada é UTF-16BE.
Essa opção funciona o mesmo que a opção "-ul".
-v, --verbose
Exibe mensagens detalhadas. Informação extra é exibida sobre marcas
de ordem de byte e a quantidade de quebras de linha convertidas.
-F, --follow-symlink
Segue ligações simbólicas e converte os alvos.
-R, --replace-symlink
Substitui ligações simbólicas com arquivos convertidos (arquivos
alvo originais permanecem inalterados).
-S, --skip-symlink
Mentém ligações simbólicas e alvos inalterados (padrão).
-V, --version
Exibe informação da versão e sai.
MODO MAC
Por padrão, as quebras de linha são convertidas de DOS para Unix e
vice-versa. As quebras de linha do Mac não são convertidas.
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.
Para executar no modo Mac, use a opção de linha de comando "-c mac" ou
use os comandos "mac2unix" ou "unix2mac".
MODOS DE CONVERSÃO
ascii
Este é o modo de conversão padrão. Este modo é para converter
arquivos codificados ASCII e compatíveis com ASCII, como UTF-8.
Habilitar o modo ascii desabilita o modo 7bit e iso.
Se dos2unix tiver suporte a UTF-16, os arquivos codificados em
UTF-16 serão convertidos para a codificação de caracteres de
localidade atual em sistemas POSIX e para UTF-8 no Windows.
Habilitar o modo ascii desabilita a opção de manter a codificação
UTF-16 ("-u") e as opções para assumir a entrada UTF-16 ("-ul" e
"-ub"). Para ver se dos2unix tem suporte a UTF-16, digite "dos2unix
-V". Veja também a seção UNICODE.
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.
iso 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.
Quando apenas a opção "-iso" 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 -437 (EUA), -850 (Europeu oriental), -860 (Português),
-863 (Franco-canadense) ou -865 (Nórdico). Também há suporte à
página de código do Windows CP1252 (Europeu ocidental) com a opção
-1252. 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.
Nunca use conversão ISO em arquivos textos Unicode. Isso vai
corromper os arquivos codificados em UTF-8.
Alguns exemplos:
Conversão da página de código padrão do DOS para Latin-1 do Unix:
dos2unix -iso -n entrada.txt saída.txt
Conversão da CP850 do DOS para Latin-1 do Unix:
dos2unix -850 -n entrada.txt saída.txt
Conversão da CP1252 do Windows para Latin-1 do Unix:
dos2unix -1252 -n entrada.txt saída.txt
Conversão da CP1252 do Windows para UTF-8 (Unicode) do Unix:
iconv -f CP1252 -t UTF-8 entrada.txt | dos2unix > saída.txt
Conversão de Latin-1 do Unix para página de código padrão do DOS:
unix2dos -iso -n entrada.txt saída.txt
Conversão do Latin-1 do Unix para CP850 do DOS:
unix2dos -850 -n entrada.txt saída.txt
Conversão do Latin-1 do unix para CP1252 do Windows:
unix2dos -1252 -n entrada.txt saída.txt
Conversão do UTF-8 (Unicode) do Unix para CP1252 do Windows:
unix2dos < entrada.txt | iconv -f UTF-8 -t CP1252 > saída.txt
See also <https://czyborra.com/charsets/codepages.html> and
<https://czyborra.com/charsets/iso8859.html>.
UNICODE
Codificações
There exist different Unicode encodings. On Unix and Linux Unicode files
are typically encoded in UTF-8 encoding. On Windows Unicode text files
can be encoded in UTF-8, UTF-16, or UTF-16 big-endian, but are mostly
encoded in UTF-16 format.
Conversão
Arquivos texto em Unicode pode ter quebras de linha DOS, Unix ou Mac,
como arquivos texto em ASCII.
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.
dos2unix and unix2dos with Unicode UTF-16 support, can read little- and
big-endian UTF-16 encoded text files. To see if dos2unix was built with
UTF-16 support type "dos2unix -V".
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.
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.
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.
Quando a opção "-u" é usada, o arquivo de saída será escrito na mesma
codificação UTF-16 que o arquivo de saída. A opção "-u" evita conversão
para UTF-8.
dos2unix e unix2dos não possuem opção para converter arquivos UTF-8 para
UTF-16.
Modo de conversão ISO e 7 bits não funcionam em arquivos UTF-16.
Marca de ordem de byte
No Windows, arquivos texto em Unicode normalmente têm uma Marca de Ordem
de Byte (BOM), porque muitos programas Windows (incluindo o Bloco de
Notas) adiciona BOMs por padrão. Veja também
<https://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte>.
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.
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.
Use a opção "-ul" ou "-ub" para converter um arquivo UTF-16 sem BOM.
dos2unix escreve por padrão nenhum BOM no arquivo de saída. Com a opção
"-b", o dos2unix escreve um BOM quando o arquivo de entrada possuir BOM.
unix2dos escreve por padrão um BOM no arquivo de saída quando o arquivo
de entrada tem BOM. Use a opção "-m" para remover BOM.
dos2unix e unix2dos sempre escrevem BOM quando a opção "-m" é usada.
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 ANSI padrão do sistema. Para ver se dos2unix
para Windows foi compilado com suporte a nomes de arquivos em Unicode,
digite "dos2unix -V".
Há alguns problemas com a exibição de nomes de arquivos Unicode em um
console Windows. Veja a opção "-D", "--display-enc". Para nomes de
arquivos pode ser exibido incorretamente, mas os arquivos serão escritos
com o nome correto.
Exemplos de Unicode
Conversão de UTF-16 do Windows (com BOM) para UTF-8 do Unix:
dos2unix -n entrada.txt saída.txt
Conversão de UTF-16LE do Windows (sem BOM) para UTF-8 do Unix:
dos2unix -ul -n entrada.txt saída.txt
Conversão de UTF-8 Unix para UTF-8 do Windows com BOM:
unix2dos -m -n entrada.txt saída.txt
Conversão de UTF-8 do Unix para UTF-16 do Windows:
unix2dos < entrada.txt | iconv -f UTF-8 -t UTF-16 > saída.txt
GB18030
GB18030 é um padrão do governo chinês. Um subconjunto obrigatório do
padrão GB18030 é exigido oficialmente para todos os produtos de software
vendidos na China. Veja também <http://en.wikipedia.org/wiki/GB_18030>.
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.
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 o sistemas oferecer suporte à localização. Use o
comando "locale -a" para obter a lista de localizações às quais há
suporte.
No Windows, você precisa usar a opção "-gb" para converter arquivos
UTF-16 para GB18030.
Arquivos codificados em GB18030 possuem uma marca de ordem de bytes,
como arquivos Unicode.
EXEMPLOS
Lê a entrada da "stdin" e escreve a saída para "stdout":
dos2unix < a.txt
cat a.txt | dos2unix
Converte e substitui a.txt. Converte e substitui b.txt:
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
Converte e substitui a.txt no modo de conversão ascii:
dos2unix a.txt
Converte e substitui a.txt no modo de conversão ascii. Converte e
substitui b.txt no modo de conversão 7bit:
dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt
Converte a.txt do formato do Mac para Unix:
dos2unix -c mac a.txt
mac2unix a.txt
Converte a.txt do formato do Unix para Mac:
unix2dos -c mac a.txt
unix2mac a.txt
Converte e substitui a.txt enquanto mantém a marca de data original:
dos2unix -k a.txt
dos2unix -k -o a.txt
Converte a.txt e escreve para e.txt:
dos2unix -n a.txt e.txt
Converte a.txt e escreve para e.txt, mantém a marca de data de e.txt
igual a a.txt:
dos2unix -k -n a.txt e.txt
Converte e substitui a.txt. Converte b.txt e escreve para e.txt:
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
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:
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
CONVERSÃO RECURSIVA
Em um shell Unix, os comandos find(1) e xargs(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:
find . -name '*.txt' -print0 |xargs -0 dos2unix
A opção do find(1) "-print0" e a opção correspondente do xargs(1) -0 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
find(1) com a opção "-exec":
find . -name '*.txt' -exec dos2unix {} \;
Em um Prompt de Comando do Windows o seguinte comando pode ser usado:
for /R %G in (*.txt) do dos2unix "%G"
Usuários do PowerShell podem usar o seguinte comando no Windows
PowerShell:
get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}
LOCALIZAÇÃO
LANG
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, 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
POSIX:
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
Para a lista completa de códigos de idioma e país, veja o manual do
gettext:
<https://www.gnu.org/software/gettext/manual/html_node/Usual-Languag
e-Codes.html>
Nos sistemas Unix, você pode usar o comando locale(1) para obter
informação específica da localização.
LANGUAGE
Com a variável de ambiente LANGUAGE, você pode especificar uma lista
de prioridades de idiomas, separada por vírgulas. O dos2unix fornece
preferência à LANGUAGE sobre LANG. Por exemplo, primeiro holandês e,
então, alemão: "LANGUAGE=nl:de". Você primeiro tem que habilitar
localização, definindo LANG (ou LC_ALL) para valor diferente de "C",
antes que você possa usar uma lista de prioridade de idiomas por
meio da variável LANGUAGE. Veja também o manual do gettext:
<https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-
variable.html>
Se você selecionou um idioma que não está disponível, você vai terá
as mensagens em inglês (padrão).
DOS2UNIX_LOCALEDIR
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 é
"/usr/local/share/locale". A opção --version vai exibir o LOCALEDIR
que é usado.
Exemplo (shell POSIX):
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
VALOR RETORNADO
No sucesso, zero é retornado. Quando um erro de sistema ocorre, o último
erro de sistema será retornado. Para outros erros, 1 é retornado.
O valor retornado é sempre zero no modo quieto, exceto quando opções de
linha de comando erradas são usadas.
PADRÕES
<https://pt.wikipedia.org/wiki/Arquivo_de_texto>
<https://pt.wikipedia.org/wiki/Retorno_de_carro>
<https://pt.wikipedia.org/wiki/Nova_linha>
<https://pt.wikipedia.org/wiki/Unicode>
AUTORES
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)
Project page: <https://waterlander.net/dos2unix/>
Página do SourceForge: <https://sourceforge.net/projects/dos2unix/>
VEJA TAMBÉM
file(1) find(1) iconv(1) locale(1) xargs(1)