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: 12.816 ]

 


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

Imprimindo documentos em PDF bloqueado

Como instalar o Notion no openSUSE

Todos os meus programas para download

Ubuntu Studio - Ubuntu com ambiente leve (XFCE) e repleto de softwares para multimídia

Sua webcam é compatível com o Linux? Descubra aqui!

Leitura recomendada

QupZilla - Navegador bom compatível com Qt (KDE)

Gnu/Linux - CentOS (RHEL-based) e outros - Red Hat Enterprise Linux recompilado

Screencast com o VLC

Removendo ícone da âncora no Docky

Webmin no Debian Squeeze

  

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