it-swarm-eu.dev

Come posso convertire più file in codifica UTF-8 usando gli strumenti a linea di comando * nix?

Possibile duplicato:
File di conversione in batch per codifica o fine riga

Ho un sacco di file di testo che mi piacerebbe convertire da un qualsiasi set di caratteri alla codifica UTF-8.

Ci sono degli strumenti da riga di comando o Perl (o una lingua a tua scelta), un liner che posso usare per fare questo in massa?

45
jason

iconv converte tra molte codifiche di caratteri. Quindi aggiungendo un po 'di magia bash e possiamo scrivere

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

Questo eseguirà iconv -f ascii -t utf-8 in ogni file che termina con .txt, inviando il file ricodificato a un file con lo stesso nome ma terminando in .utf8.txt anziché .txt.

Non è come se ciò potesse effettivamente fare qualcosa per i tuoi file (perché ASCII è un sottoinsieme di UTF-8), ma per rispondere alla tua domanda su come convertire tra le codifiche.

55
Vinko Vrsalovic