Iconv

iconv je unixový  nástroj (a stejnojmenná knihovna ) pro převod textu z jednoho kódování do druhého. Také portován na Windows.

Syntaxe

iconv [ -c ] [ -s ] [ -f kódování ] [ -t kódování ] [ vstupní soubor ... ] iconv -l

Popis

Nástroj iconv převádí text z jednoho kódování do druhého. Vstupní kódování se nastavuje klávesou -f a kódování výstupu klávesou -t. Každé z těchto kódování je výchozí pro národní prostředí systému. Všechny vstupní soubory se čtou postupně, pokud není zadán parametr vstupního souboru, použije se standardní vstup a převedený text je vydán na standardní výstup .

Když je zadána volba -c, znaky, které nelze převést, jsou jednoduše vyřazeny. V opačném případě, když dojde k takové chybě, program spadne .

Když je zadána volba -s, nevytisknou se žádné chybové zprávy.

Přepínač -l zobrazí seznam dostupných kódování.

Příklady

Hromadné překódování

Následující skript najde všechny soubory v aktuálním adresáři s příponou *.java, překóduje je na UTF-8 a zkopíruje výsledek do adresáře res:

mkdir res find -maxdepth 1 -iname "*.java" -type f -exec bash -c "iconv -c -f WINDOWS-1251 -t UTF-8 {} > ./res/{}" \;

Překódování všech souborů v adresáři s jejich nahrazením:

pro i v * ; do iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Hotovo

Rekurzivní překódování všech souborů požadovaného typu (v příkladu - txt):

nalézt. -name '*.txt' | při čtení i ; do iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Hotovo

Rekurzivně překódování všech html souborů:

# !/bin/sh najít . -type f -name '*.htm' -o -name '*.html' | při čtení echo $i iconv -f WINDOWS-1251 -t UTF-8 " $i " > tmp mv -f tmp " $i " hotovo

Hromadné překódování oken

Následující sada skriptů najde všechny soubory v aktuálním adresáři s příponou *.txt, překóduje se na CP1251 z KOI8-R :

all.cmd:

pro / R %% i v ( . ) zavolejte txt.cmd %% i

txt.cmd:

nastavit cd2 = %cd% cd %1 pro %% j v ( *.txt ) zavolat %cd2% \iconv2.cmd %% j cd % cd2%

iconv2.cmd:

iconv -c -f KOI8-R -t CP1251 %1 > vyhrát. %1 del %1 přejmenovat win. %1 %1

Jiný způsob (přes cmd):

Před provedením tohoto příkazu musíte přidat cestu k programu iconv.exe do proměnné prostředí Path:

pro %% i v ( *.txt ) proveďte iconv -f cp1251 -t utf-8 " %% i" > utf8/ %% i

Příkaz překóduje všechny soubory s příponou „txt“ a uloží překódované soubory do předem vytvořené složky utf8.

Viz také

Odkazy