Convertendo arquivo UTF-8 com BOM para UTF-8 sem BOM

Publicado por Anderson Weller em 04/07/2014

[ Hits: 10.734 ]

 


Convertendo arquivo UTF-8 com BOM para UTF-8 sem BOM



Estou migrando minhas atividades totalmente para o GNU/Linux. Uma das minhas tarefas, era a conversão de arquivos .bat para os respectivos .sh.

Porém, ao tentar executar esses arquivos .sh, eles sempre retornavam erro.

Depois de alguns testes, percebi que o problema era a assinatura BOM (Byte Order Mark) dos arquivos UTF-8, gerados por mim no Notepad++.

Veja: Byte Order Mark - Wikipedia, the free encyclopedia


Para resolver esse problema, utilizei um comando para reescrever um arquivo, retirando essa assinatura.

Supondo que o arquivo seja o file.sh, teremos o seguinte comando:

tail --bytes=+4 file.sh | tee file.sh > /dev/null

Observações do comando:
  • tail --bytes=+4 file.sh :: Apresenta o conteúdo do arquivo, com exceção da assinatura - os 4 primeiros bytes;
  • | tee file.sh :: Redireciona o texto para o comando tee que reescreve o conteúdo no arquivo;
  • > /dev/null :: Evita que o conteúdo seja exibido na tela.

Fonte original:
Outras dicas deste autor

Como verificar sistema de arquivos da partição principal

Plugin Flash Livre (Gnash e Lightspark) no Debian 7.5 - Instalação e configuração

Troca automática de Wallpaper no Gnome 3

Leitura recomendada

Imprimindo "man pages"

Localizar arquivos ou diretórios no Linux

Converter vídeo para MP4 via terminal Linux

Encriptando e compactando arquivos com o zip

Listando arquivos pela data

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário