Es wird einige Situationen geben, in denen normale Benutzer von Excel oder Word auf einem Windows-Computer erstellte Dateien erhalten und Informationen unter Linux verarbeiten. Ich habe die Grundlagen des Datenkonvertierungsverfahrens zusammengefasst, die zu diesem Zeitpunkt erforderlich sein werden.
Hierbei handelt es sich bei der japanischen Namensdatei um eine Datei, in der im Dateinamen sogenannte Zeichen voller Breite verwendet werden.
unzip -O cp932 Archiv mit japanischen Namensdateien.zip
cp932 ist ein von Microsoft erweiterter Zeichencode-Standard, um JIS zu verschieben.
Referenz: Eigentlich nicht beängstigend CP932
convmv -f cp932 -t utf-8 * --notest
Für Ubuntu ist der Befehl "convmv" nicht standardmäßig installiert, daher müssen Sie "apt install convmv" im Voraus ausführen.
Wenn eine Datei mit einem japanischen Namen unter dem "Standard" -Verfahren aus zip unter Linux extrahiert wird, wird sie anscheinend mit unangemessen verstümmelten Zeichen in UTF-8 konvertiert, und selbst wenn Sie danach versuchen, eine Konvmv durchzuführen. " "Es wurde verarbeitet" wird einfach abgelehnt. Es bleibt keine andere Wahl, als die ursprüngliche Zip-Datei gemäß dem obigen Verfahren aufzugeben und erneut zu extrahieren.
Konvertiert den Shift-Jis-Text in UTF-8, konvertiert den Zeilenvorschubcode vom Windows-Standard CR / LF weiter in LF und schreibt das Ergebnis in eine neue Datei.
iconv -f cp932 -t utf-8 Zieldateiname| sed 's/\r//g' >Name der Ausgabezieldatei
Ich habe auch eine Methode in Betracht gezogen, um alle Dateien im aktuellen Verzeichnis gleichzeitig zu verarbeiten. Schreiben wir den konvertierten Inhalt aus, indem wir eine gleichnamige Datei im Unterverzeichnis utf8
erstellen. Verwenden Sie die Bash-Loop-Verarbeitung.
#!/bin/bash
[ -d utf8 ] || mkdir utf8
for a in *
do iconv -f cp932 -t utf-8 $a | sed 's/\r//g' > utf8/$a
done
Recommended Posts