Ikonv

iconv er et UNIX  -værktøj (og et bibliotek af samme navn ) til at konvertere tekst fra en kodning til en anden. Også porteret til Windows.

Syntaks

iconv [ -c ] [ -s ] [ -f kodning ] [ -t kodning ] [ inputfil ... ] ikonv -l

Beskrivelse

Iconv-værktøjet konverterer tekst fra en kodning til en anden. Indgangskodningen indstilles med -f-tasten, og udgangskodningen med -t-tasten. Enhver af disse kodninger er standard til systemets lokalitet. Alle inputfiler læses efter tur, hvis inputfilparameteren ikke er angivet, bruges standardinput , og den konverterede tekst udlæses til standardoutput .

Når -c-indstillingen er givet, kasseres tegn, der ikke kan konverteres. Ellers, når en sådan fejl opstår, går programmet ned .

Når indstillingen -s er givet, udskrives der ingen fejlmeddelelser.

Kontakten -l viser en liste over tilgængelige kodninger.

Eksempler

Masseomkodning

Følgende script finder alle filer i den aktuelle mappe med filtypenavnet *.java, omkoder dem til UTF-8 og kopierer resultatet til res-mappen:

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

Omkodning af alle filer i en mappe med deres erstatning:

for i i * ; gør iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Færdig

Rekursiv omkodning af alle filer af den påkrævede type (i eksemplet - txt):

finde. -navn '*.txt' | mens du læser i ; gør iconv -f WINDOWS-1251 -t UTF-8 " $i " >tmp ; mv tmp " $i " ; Færdig

Rekursiv genkodning af alle html-filer:

# !/bin/sh find . -type f -navn '*.htm' -o -navn '*.html' | mens jeg læser jeg ekko $i iconv -f WINDOWS-1251 -t UTF-8 " $i " > tmp mv -f tmp " $i " færdig

Massetranskodningsvinduer

Følgende sæt scripts finder alle filer i den aktuelle mappe med filtypenavnet *.txt, omkoder til CP1251 fra KOI8-R :

all.cmd:

for /R %% i i ( . ) skal du kalde txt.cmd %% i

txt.cmd:

sæt cd2 = %cd% cd %1 for %% j in ( *.txt ) ring til % cd2% \iconv2.cmd %% j cd %cd2%

iconv2.cmd:

iconv -c -f KOI8-R -t CP1251 %1 > vinde. %1 del %1 omdøb gevinst. %1 %1

En anden måde (via cmd):

Før du udfører denne kommando, skal du tilføje stien til iconv.exe-programmet til Path-miljøvariablen:

for %% i in ( *.txt ) gør iconv -f cp1251 -t utf-8 " %% i" > utf8/ %% i

Kommandoen vil omkode alle filer med filtypenavnet "txt" og lægge de omkodede filer i en forudoprettet utf8-mappe.

Se også

Links