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

Hoe kan ik meerdere bestanden converteren naar UTF-8 codering met behulp van *nix command line tools?

Mogelijk duplicaat: Batch-converteer bestanden voor encoding of regeleinde

Ik heb een heleboel tekstbestanden die ik wil converteren van een bepaalde charset naar UTF-8 encoding.

Zijn er command line tools of Perl (of taal naar keuze) one liners die ik kan gebruiken om dit en masse te doen?

Antwoorden (1)

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

iconv converteert tussen vele karakter coderingen. Dus door een beetje bash magie toe te voegen kunnen we

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

schrijven. Dit zal iconv -f ascii -t utf-8 uitvoeren op elk bestand dat eindigt op .txt, en het hergecodeerde bestand naar een bestand met dezelfde naam sturen, maar eindigend op .utf8.txt in plaats van .txt.

Het is niet alsof dit werkelijk iets zou doen met uw bestanden (omdat ASCII een subset is van UTF-8), maar om uw vraag te beantwoorden over hoe te converteren tussen coderingen.