você está aqui: Home  → Arquivo de Mensagens

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


 

 

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

Opinião dos Leitores

Sandro
21 Jun 2016, 17:25
Rubens, já existe um utilitário chamado dos2unix/unix2dos eu os uso e acho bem prático, vc já viu esses programas?
joao
17 Jun 2016, 12:42
Boa dica. No dia a dia facilita muito.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script