Como trocar o encode de ISO para UTF-8 e trocar as quebras de linha (EOL) de formato Windows para Unix

Publicado por Perfil removido em 06/08/2010

[ Hits: 13.027 ]

 


Como trocar o encode de ISO para UTF-8 e trocar as quebras de linha (EOL) de formato Windows para Unix



Esta dica é útil para converter projetos desenvolvidos em Windows para ambientes *NIX em geral...

Primeiro teste sua busca pelos arquivos que pretende afetar:

find -name \*.php

Viu o resultado? É isto de fato que deseja afetar? Ok, vamos converter:

for i in $(find -name \*.php); do

A linha abaixo vai trocar o encode do arquivo e redirecionar o resultado para um arquivo temporário:

   iconv $i -f iso-8859-1 -t utf8 -o $i.2

A linha abaixo vai trocar as quebras de linha de Windows para Unix do arquivo temporário e redirecionar o resultado para o arquivo original:

    awk '{ sub("\r$", ""); print }' $i.2 > $i

done

Outras dicas deste autor

Placa de vídeo Intel i915 no BackTrack - Conflito resolvido

Título: Instalando e configurando wireless no Vector Linux 6.0

Instalando Java e NetBeans5.0 no Ubuntu 5.10

Instalando o aMSN 0.93 com traydoc no KDE 3.1

Claws Mail - Adicionando plugin antispam

Leitura recomendada

Ubuntu - Instalando LXDE, XFCE, KDE e WM

Instalando o BootUp Manager no Deepin 20

Filmando o desktop e capturando a tela

Kazehakase - Navegador leve, simples e veloz para Linux!

VirtualBox - Erro na rede depois da importação de máquina virtual rodando Debian

  

Comentários
[1] Comentário enviado por tuliohmendes em 06/08/2010 - 10:04h

Boa dica Felipe, mas vale lembrar que se você for usar "for i in $(find -name \*.php); do" , você estará se limitando a arquivos que não contem espaços, já que o "find" retornará uma lista com espaços e o "for" separa os nomes também pelo espaço.

Ou seja, se você tiver o nome "Meu arquivo.php" ele será tratado como "Meu" e "arquivo.php"... O melhor a se fazer nesse caso seria um simples:

for i in *.php; do

[2] Comentário enviado por removido em 11/08/2010 - 22:41h

Olá Tulio, muito bem lembrado... para resolver este problema de arquivos com espaço no nome achei estes links:

http://www.cyberciti.biz/tips/handling-filenames-with-spaces-in-bash.html
http://blog.cidandrade.pro.br/tecnologia/shell-scripts-espaco-nome-arquivos/

[]'s



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts