it-swarm.asia

Birden fazla dosyayı * nix komut satırı araçlarını kullanarak UTF-8 kodlamasına nasıl dönüştürebilirim?

Olası Çoğalt:
Kodlama veya satır sonlaması için toplu dönüştürme dosyaları

Herhangi bir karakter kümesinden UTF-8 kodlamasına dönüştürmek istediğim bir sürü metin dosyası var.

Bunu yapmak için kullanabileceğim herhangi bir komut satırı aracı veya Perl (veya seçtiğiniz bir dil) var mı?

45
jason

iconv birçok karakter kodlaması arasında dönüşüm sağlar. Yani biraz bash büyüsü ekleyerek yazabiliriz

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

Bu, iconv -f ascii -t utf-8 ile biten her dosyaya .txt ile çalışacak, yeniden kodlanmış dosyayı aynı ada sahip bir dosyaya gönderecek ancak .utf8.txt yerine .txt ile bitecektir.

Bu aslında dosyalarınıza bir şey yapmaz (çünkü ASCII bir UTF-8 alt kümesidir), ancak kodlamalar arasında nasıl dönüşüm yapacağınızla ilgili sorunuzu yanıtlamak için değildir.

55
Vinko Vrsalovic