De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Conversão de formatos com recode

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 17 de junho de 2016

As convenções de fim de linha em sistemas operacionais podem trazer aborrecimentos quando um arquivo criado em sistemas Windows é levado para um sistema GNU/Linux, e vice-versa. Basicamente, o que temos no final de uma linha é um ou mais caracteres que nos levam para a próxima linha. A nomenclatura usada é dos tempos das máquinas de escrever, em que mudamos de linha (line feed, ou LF) e voltamos a máquina para a posição inicial (carriage return, ou CR).

Em sistemas *nix o fim de linha é assinalado pelo caracter line feed, ou seja, não existe um posicionamento na primeira coluna da próxima linha. Ao levar um arquivo deste tipo para sistemas Windows, temos algo do tipo:

  abcde
       abcde
            abcde
                 ...

Da mesma forma, ao levarmos arquivos criados em sistemas Windows para sistemas *nix, temos um caractere adicional no fim da linha (carriage return), que precisamos remover.

O comando recode é um pequeno utilitário que realiza diversos tipos de conversão, como por exemplo, a mudança de codificação, e as conversões entre sistemas. O problema é a sintaxe meio complicada, mas nada que alguns aliases não resolvam.

Com o comando recode podemos converter arquivos entre diversos formatos:

  1. DOS para Unix

      recode dos/CR-LF..l1 arquivo.txt
    

  2. Unix para Windows

      recode l1..windows-1250
    

  3. Unix para DOS

      recode l1..dos/CR-LF
    

Para simplificar, podemos criar alguns aliases:

  alias dos2unix='recode dos/CR-LF..l1'
  alias unix2win='recode l1..windows-1250'
  alias unix2dos='recode l1..dos/CR-LF'

Coloque as linhas acima no arquivo .bashrc e você não precisa mais se preocupar com a sintaxe do comando.

Para instalar o comando recode em sistemas Debian GNU/Linux e derivados, digite:

  sudo apt-get install recode

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida