EOL: Como converter um arquivo de texto do tipo DOS para UNIX e vice-versa

Selecione DOS, menu do editor de texto Unix

Com este simples tutorial, resolvemos um pequeno contratempo que certamente terá acontecido com você. Muitas vezes nos terá acontecido que ao abrir um arquivo .txt no Linux ou no Windows, o texto é modificado de como o havíamos editado no início. O que acontece é que as linhas se juntam a nós e os espaços não aparecem. Isso ocorre porque o formato de arquivo de texto do tipo UNIX difere do tipo DOS em termos do caractere de fim de linha (EOL) que eles empregam.

Para sistemas UNIX, o caractere é um "avanço de linha / nova linha" ou LF e isso corresponde a \ n, se você programar, soará para você. Enquanto no Windows o sistema usado no DOS antigo é herdado, ou seja, um "retorno de carro" seguido por um "avanço de linha / nova linha" (\ r \ n). Se, por exemplo, editamos o arquivo no Linux e o estamos abrindo com o Windows (e o formato em que o salvamos não é adequado), então haverá o feliz problema de ter todo o texto colado sem espaço ou quebras de linha.

No Linux é fácil converter de um formato para outro sem instalar nada em nosso sistema, basta usar estes comandos:

  • DO DOS PARA O UNIX:

Vamos usar o comando tr, seguido pelo parâmetro -d e o caractere EOL apropriado. Também usaremos os famosos "pipes" para operar com o arquivo de texto DOS ("filename") e aquele que queremos gerar convertido para o formato UNIX ("filename"). Claro que devemos primeiro usar o comando cd para ir para a pasta onde o arquivo a ser convertido está localizado ou a partir da interface gráfica passar o arquivo para / Home (por padrão, onde o prompt está localizado):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • DO UNIX PARA DOIS:

Agora vamos usar o comando sede para transformar um arquivo Unix em um tipo DOS. Para isso utilizaremos a seguinte sintaxe, substituindo o nome dos arquivos pelo arquivo a ser convertido. Quero deixar um esclarecimento, sempre que escrevo arquivo me refiro ao tipo Unix e quando coloco o arquivo no tipo Windows / DOS.

sed 's/$/\r/' nombre_fichero > nombre_archivo</p>

De qualquer forma, em editores de texto modernos, já nos dá a opção de "Salvar como“No formato que queremos, sem ter que fazer isso a partir do terminal. Mas é sempre bom saber mais sobre a linha de comando do Linux. Outra opção é usar duas ferramentas projetadas para esse fim, dos2unix e unix2dos, mas em muitas distribuições elas não são instaladas por padrão e devem ser instaladas ...


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   bláblá1233445 dito

    A afirmação correta é
    nome do arquivo tr -d 'r'