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

 


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

NVIDIA e Debian 10: resolvendo o problema com lentidão e travamento com GNOME

Earth3D no Kurumin

Criando e utilizando um catálogo de e-mails no Claws

Como criar um pendrive bootável no Linux [Vídeo]

Ativando Login Automático no Fedora MATE

Leitura recomendada

Login e startx em modo automático, sem KDM, GDM, SLIM ou qualquer outro display manager

K3B - Resolvendo permissões de sistema

Slackabduction - Excelente site de pacotes para Slackware

Instalando Telegram no LMDE 3

Driver para Sis 671/717 no Ubuntu 11.04

  

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