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.

    Dos2unix foi modelado seguindo dos2unix do SunOS/Solaris. Há uma
    diferença importante em relação à versão original do SunOS/Solaris. Essa
    versão faz conversão no-lugar (modo arquivo antigo) por padrão, enquanto
    a versão original do SunOS/Solaris fornecia suporte apenas a conversão
    pareada (modo de novo arquivo). Veja também as opções "-o" e "-n".

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

    -ascii
        Converte apenas as quebras de linhas. Esse é o modo de conversão
        padrã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 bit para espaço de 7 bit.

    -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.

    -f, --force
        Força a conversão de arquivos binários.

    -h, --help
        Exibe ajuda e sai.

    -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 com marca de ordem de byte de UTF-8 no arquivo de saída.
        Nunca use essa opção quando a codificação de saída for outra que não
        UTF-8. 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 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.

    -o, --oldfile ARQUIVO ...
        Modo arquivo antigo. Converte o arquivo ARQUIVO e o sobrescreve com
        a saída. O programa, por padrão, executa neste modo. Nomes coringas
        podem ser usados.

        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.

    -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).

    -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".

    -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
    No modo normal, as quebras de linhas são convertidas de DOS para Unix e
    vice-versa. Quebras de linha do Mac não são convertidas.

    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
        No modo "ascii", apenas as quebras de linha são convertidas. Esse é
        o modo de conversão padrão.

        Apesar do nome deste modo ser ASCII, o qual é um padrão de 7 bit, o
        modo é em verdade 8 bit. Sempre use este modo quando quiser
        converter arquivos Unicode UTF-8.

    7bit
        Neste modo todos os caracteres não-ASCII de 8 bit (com valores entre
        128 e 255) são convertidos para um espaço de 7 bit.

    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

        Veja também <http://czyborra.com/charsets/codepages.html> e
        <http://czyborra.com/charsets/iso8859.html>.

UNICODE
  Codificações
    Exitem codificações Unicode diferentes. No Unix e no Linux, arquivos
    Unicode são geralmente codificados em UTF-8. No Windows, arquivos texto
    Unicode podem ser codificados em UTF-8, UTF-16 ou UTF-16 big endian, mas
    na maioria das vezes são codificados no formato UTF-16.

  Conversão
    Arquivos texto em Unicode pode ter quebras de linha DOS, Unix ou Mac,
    como arquivos texto comuns.

    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 e unix2dos com suporte a Unicode UTF-16 podem ler arquivos
    texto codificados em little e big endian UTF-16. Para ver se dos2unix
    foi compilado com suporte a UTF-16, digite "dos2unix -V".

    As versões do Windows do dos2unix e unix2dos convertem arquivos
    codificados em UTF-16 sempre para arquivos UTF-8. Versões Unix do
    dos2unix/unix2dos convertem arquivos codificados em UTF-16 para a
    codificação de caracteres da localização quando esta estiver definida
    para UTF-8. Usa o comando locale(1) para descobrir qual é a codificação
    de caracteres da localização.

    Por causa dos arquivos texto formatados em UTF-8 terem bom suporte em
    tanto Windows e Unix, dos2unix e unix2dos têm a opção de escrever
    arquivos UTF-16. Todos os caracteres UTF-16 podem ser codificados em
    UTF-8. Conversão de UTF-16 para UTF-8 não tem perda. Arquivos UTF-16
    serão ignorados no Unix quando a codificação de caracteres da
    localização não for UTF-8, para evitar perda acidental de texto. Quando
    um erro de conversão entre UTF-16 e UTF-8 ocorre (por exemplo, quando o
    arquivo de entrada em UTF-16 contém um erro), o arquivo será ignorado.

    Modo de conversão ISO e 7-bit não funciona em arquivos UTF-16.

  Marca de ordem de byte
    No Windows, arquivos Unicode normalmente têm uma Marca de Ordem de Byte
    (BOM), porque muitos programas (incluindo o Bloco de Notas) adiciona
    BOMs por padrão. Veja também
    <http://en.wikipedia.org/wiki/Byte_order_mark>.

    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.

  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

EXEMPLOS
    Lê a entrada da "stdin" e escreve a saída para "stdout".

        dos2unix
        dos2unix -l -c mac

    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
    Use dos2unix em combinação com os comandos find(1) e xargs(1) para
    converter recursivamente arquivos texto em uma estrutura de árvore de
    diretórios. Por exemplo, para converter todos os arquivos .txt na árvore
    de diretórios sob o diretório atual, digite:

        find . -name *.txt |xargs dos2unix

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, precedido de 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:
        <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
        des>

        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. Dos2unix fornece
        preferência a 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 um valor diferente de
        "C", antes que você possa usar uma lista de prioridade de idioma por
        meio da variável LANGUAGE. Veja também o manual do gettext:
        <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
        E-variable>

        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
    <http://en.wikipedia.org/wiki/Text_file>

    <http://en.wikipedia.org/wiki/Carriage_return>

    <http://en.wikipedia.org/wiki/Newline>

    <http://en.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)

    Página do projeto: <http://waterlan.home.xs4all.nl/dos2unix.html>

    Página do SourceForge: <http://sourceforge.net/projects/dos2unix/>

    Freecode: <http://freecode.com/projects/dos2unix>

Veja também
    file(1) find(1) iconv(1) locale(1) xargs(1)

