GNU/Linux >> Linux Esercitazione >  >> Linux

iconv qualsiasi codifica in UTF-8

Compilandoli tutti. Vai a dir, crea dir2utf8.sh :

#!/bin/bash
# converting all files in a dir to utf8

for f in *
do
  if test -f $f then
    echo -e "\nConverting $f"
    CHARSET="$(file -bi "$f"|awk -F "=" '{print $2}')"
    if [ "$CHARSET" != utf-8 ]; then
      iconv -f "$CHARSET" -t utf8 "$f" -o "$f"
    fi
  else
    echo -e "\nSkipping $f - it's a regular file";
  fi
done

Forse stai cercando enca :

Enca è un analizzatore di set di caratteri estremamente ingenuo. Rileva il set di caratteri e la codifica dei file di testo e può anche convertirli in altre codifiche utilizzando un convertitore integrato o librerie e strumenti esterni come libiconv, librecode o cstocs.

Attualmente supporta bielorusso, bulgaro, croato, ceco, estone, ungherese, lettone, lituano, polacco, russo, slovacco, sloveno, ucraino, cinese e alcune codifiche multibyte indipendentemente dalla lingua.

Si noti che in generale, il rilevamento automatico della codifica corrente è un processo difficile (la stessa sequenza di byte può essere testo corretto in più codifiche). enca utilizza l'euristica basata sulla lingua che gli dici di rilevare (per limitare il numero di codifiche). Puoi usare enconv per convertire i file di testo in una singola codifica.


Puoi ottenere ciò di cui hai bisogno usando il file gnu utils standard e awk. Esempio:

file -bi .xsession-errors mi dà:"text/plain; charset=us-ascii"

quindi file -bi .xsession-errors |awk -F "=" '{print $2}' mi restituisce "us-ascii"

Lo uso negli script in questo modo:

CHARSET="$(file -bi "$i"|awk -F "=" '{print $2}')"

if [ "$CHARSET" != utf-8 ]; then
  iconv -f "$CHARSET" -t utf8 "$i" -o outfile
fi

Linux
  1. Tr Analog per i caratteri Unicode?

  2. Codifica di un file zip?

  3. Gobolinux è più attivo?

  4. “coda -f | Iconv -fsjis” non genera nulla?

  5. Come inviare comandi a qualsiasi terminale?

Conversione di pagine Web da UTF-8 a ISO-8859-1 in Linux

Hibernate + MySQL:come impostare la codifica utf-8 per database e tabelle

Ripara la codifica dei tag ID3

Come ricodificare in modo condizionale in UTF-8?

Come convertire un file di testo da Shift JIS a UTF-8 e viceversa dal terminale

Cosa fa CAP_NET_RAW?