2009-08-01 00:29:36 +0000 2009-08-01 00:29:36 +0000
46
46

Como posso converter múltiplos ficheiros para codificação UTF-8 usando ferramentas de linha de comando *nix?

Possivel duplicado: Ficheiros de conversão em lote para codificação ou fim de linha

Tenho um monte de ficheiros de texto que gostaria de converter de um determinado conjunto de caracteres para codificação UTF-8.

Existe alguma ferramenta de linha de comando ou Perl (ou linguagem à sua escolha) que eu possa usar para fazer isto em massa?

Respostas (1)

56
56
56
2009-08-01 01:25:17 +0000

iconv faz a conversão entre muitas codificações de caracteres. Assim, adicionando um pouco de magia e podemos escrever

for file in *.txt; do
    iconv -f ascii -t utf-8 "$file" -o "${file%.txt}.utf8.txt"
done

Isto irá correr iconv -f ascii -t utf-8 para cada ficheiro terminando em .txt, enviando o ficheiro recodificado para um ficheiro com o mesmo nome mas terminando em .utf8.txt em vez de .txt.

Não é como se isto fizesse realmente alguma coisa aos seus ficheiros (porque ASCII é um subconjunto de UTF-8), mas para responder à sua pergunta sobre como converter entre codificações.