0
Obrigado

Algumas palavras de agradecimento nunca são demais.

Sed - Converter quebras de linha DOS (CRLF) / UNIX (LF)

Existem utilitários (dos2unix e unix2dos) que cumprem muito bem essa tarefa. Porém, nada impede que você faça sozinho a conversão de quebras de linha quando o sistema sobre o qual você trabalha não possui estas ferramentas ou você esteja impossibilitado de instalar.




O que é preciso

Os arquivos texto no Unix (e seus descendentes) terminem sua linha por um caráter « salto de linha », representado por um símbolo "\n" (chamado Line Feed e escrito LF, code ASCII = 0A).

Os arquivos texto no DOS ( e seus descendentes) terminam também sal linha por um caráter "salto de linha", precedido de um caráter quebra de linha, representado pelo símbolo "\r" (chamado Carriage Return e escrito CR, code ASCII 0D). Assim, cada linha de um arquivo DOS se termina pela sequência CRLF, seja \r\n.

Conversão DOS para UNIX

IBasta simplesmente apagar o caráter "\r" (quebra de linha) no final da linha.
O caráter "\r" (quebra de linha) está representado simbolicamente "^M", que se obtém pela seguinte sequência de teclas "CTRL-V" + "CTRL-M".
sed 's/^M$//' arquivos

Nota

Com a versão GNU-sed (gsed 3.02.80 e superior), pode-se utilizar a escrita ASCII :
sed 's/\x0D$//' fichier

Conversão UNIX para DOS

Basta fazer o contrário do comando precedente, à saber (o caráter "^M" sendo digitado da mesma maneira (CTRL-V + CTRL-M)) :
sed 's/$/^M/' fichier

Nota :

Com a versão GNU-sed (gsed 3.02.80 e superior), pode-se utilizar a notação simbólica "\r":
sed 's/$/\r/' arquivo


Foto: © man64 - 123RF.com

Veja também

Este documento, intitulado 'Sed - Converter quebras de linha DOS (CRLF) / UNIX (LF)', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

0 Comentário