Convertendo vários arquivos de um encoding para outro

29 de outubro de 2009

Devem haver maneiras melhores de converter todos os arquivos numa pasta de um encoding para outro (no caso, MacRoman para UTF-8), mas essa funcionou, e achei por bem anotar/compartilhar:

find . -type f | xargs -I {} sh -c 'iconv -f MACROMAN -t UTF-8 {} > {}.converted_from_iconv'; find . -type f | grep -v converted_from_iconv | xargs -I {} mv {}.converted_from_iconv {}

Funcionou no Mac OS X, e deve rodar bem em Linux/Cygwin também.

6 Comentários em Convertendo vários arquivos de um encoding para outro
  1. cava disse:

    linha de codigo que nao cabe no twitter nao dá

    [Responder]

  2. chester disse:

    Heh, tinham que criar um tinyurl pra código :-)

    [Responder]

  3. Mauro disse:

    Dá para economizar um processo na primeira parte assim:


    find . -type f -exec iconv -f MACROMAN -t UTF-8 {} -o {}.converted_from_iconv \;

    Mas eu faria algo assim:


    for i in $( find . -type -f ); do iconv -f MACROMAN -t UTF-8 $i -o $i.new; mv $i.new $i; done

    [Responder]

  4. Chester disse:

    Heh, é bem mais esperto: faz as duas coisas num loop só, sem precisar da gambiarra pra achar os arquivos no segundo. Desnecessário dizer que o pouco que eu sei de shell script é altamente experimental. Obrigado pelo cleanup!

    [Responder]

  5. consult disse:

    Parabéns aos editores do blog!!! Realmente muito bom… cada post melhor do que o outro

    [Responder]

  6. jonathan disse:

    Realmente o blog é muito bom!!! Parabéns a todos!!!

    follow me

    [Responder]

Comentários

Comentários


Related Posts Plugin for WordPress, Blogger...