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.019 ]

 


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

Adicionar ícones na barra do Gnome

Instalei o FreeBSD e esqueci a senha de root

Shockweaver - IDE para desenvolvimento em Flash

Driver NVIDIA no Linux Mint 17

Acentos não funcionam no navegador Opera (Mandriva One e superior)

Leitura recomendada

Puppy Linux - Excelente Linux para computadores antigos

Resolvendo o problema com o vboxdrv no Fedora 11 e outras

Removendo senha do Windows XP e Vista utilizando um live CD

Pagode pro Samba

Mudando temas do Plank (na unha)

  

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