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

 


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

Como ativar a placa de rede wireless do Notebook lenovo ideapad310 - Qualcomm Atheros Device 0042 (rev 30)

Mudando e editando imagens no Skydome do Beryl

Wireless ralink no Slackware 10.2 com kernel 2.6.15.3

Driver da NVidia compatível com Xorg 1.7

Instalando driver da nVIDIA no Gentoo 2005.1

Leitura recomendada

Usando o giFT para conectar via rede fast track (Kazaa)

Instalação do VirtualBox no Funtoo

Corrigindo erro do ADEPT no KUbuntu

FIGlet - Letras grandes no modo texto

Download Insigne Linux 5.5

  

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