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.
Comments
cava
linha de codigo que nao cabe no twitter nao dá
chester
Heh, tinham que criar um tinyurl pra código :-)
Mauro
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
Chester
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!
consult
Parabéns aos editores do blog!!! Realmente muito bom... cada post melhor do que o outro
jonathan
Realmente o blog é muito bom!!! Parabéns a todos!!!
follow me