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.
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:
recode dos/CR-LF..l1 arquivo.txt
recode l1..windows-1250
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários