GNU/Linux >> LINUX-Kenntnisse >  >> Linux

iconv jede Kodierung nach UTF-8

Alle zusammenstellen. Gehen Sie zu dir, erstellen Sie 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

Vielleicht suchen Sie nach enca :

Enca ist ein extrem naiver Charset-Analyzer. Es erkennt den Zeichensatz und die Codierung von Textdateien und kann sie auch mithilfe eines integrierten Konverters oder externer Bibliotheken und Tools wie libiconv, librecode oder cstocs in andere Codierungen konvertieren.

Derzeit werden unabhängig von der Sprache Weißrussisch, Bulgarisch, Kroatisch, Tschechisch, Estnisch, Ungarisch, Lettisch, Litauisch, Polnisch, Russisch, Slowakisch, Slowenisch, Ukrainisch, Chinesisch und einige Multibyte-Kodierungen unterstützt.

Beachten Sie, dass die automatische Erkennung der aktuellen Codierung im Allgemeinen ein schwieriger Prozess ist (die gleiche Bytesequenz kann in mehreren Codierungen korrekter Text sein). enca verwendet Heuristik basierend auf der Sprache, die Sie ihm mitteilen, um es zu erkennen (um die Anzahl der Codierungen zu begrenzen). Sie können enconv verwenden um Textdateien in eine einzelne Kodierung umzuwandeln.


Sie können das bekommen, was Sie brauchen, indem Sie die Standard-GNU-Utils-Datei und awk verwenden. Beispiel:

file -bi .xsession-errors gibt mir:"text/plain; charset=us-ascii"

also file -bi .xsession-errors |awk -F "=" '{print $2}' gibt mir "us-ascii"

Ich verwende es in Skripten wie folgt:

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

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

Linux
  1. Ist Gobolinux noch aktiv?

  2. „Schwanz -f | Iconv -fsjis“ gibt nichts aus?

  3. Wie leitet man Befehle an ein beliebiges Terminal weiter?

  4. Konvertieren von Webseiten von UTF-8 nach ISO-8859-1 unter Linux

  5. Irgendwelche Java-Erfahrung auf Raspberry PI?

Kodierung einer Zip-Datei?

Sofortige Songtexte – Holen Sie sich Songtexte zu jedem Song auf Spotify

Kodierung von ID3-Tags reparieren

Wie rekodiere ich bedingt in UTF-8?

Was sind die Unterschiede zwischen Linux- und Windows-.txt-Dateien (Unicode-Codierung)

So konvertieren Sie eine Textdatei von Shift JIS in UTF-8 und zurück vom Terminal