it-swarm.dev

¿Cómo puedo convertir varios archivos a codificación UTF-8 usando las herramientas de línea de comandos * nix?

Posible duplicado:
Archivos de conversión por lotes para codificación o final de línea

Tengo un montón de archivos de texto que me gustaría convertir de cualquier conjunto de caracteres a la codificación UTF-8.

¿Hay alguna herramienta de línea de comandos o Perl (o el idioma de su elección) en los liners que puedo usar para hacer esto en masa?

45
jason

iconv convierte entre muchas codificaciones de caracteres. Así que añadiendo un poco de magia bash y podemos escribir.

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

Esto ejecutará iconv -f ascii -t utf-8 a cada archivo que termine en .txt, enviando el archivo recodificado a un archivo con el mismo nombre pero terminando en .utf8.txt en lugar de .txt.

No es como si esto realmente hiciera algo con sus archivos (porque ASCII es un subconjunto de UTF-8), sino para responder su pregunta sobre cómo convertir entre codificaciones.

55
Vinko Vrsalovic