カテゴリー
【シェルコマンド】nkfコマンドを使ってファイルの文字エンコーディングを判別し、iconvコマンドと連携させるやり方
※ 当ページには【広告/PR】を含む場合があります。
2022/06/01
ラズパイにnkfコマンドをインストールする
$ sudo apt-get update && sudo apt-get upgrade -y
$ sudo apt-get -y install nkf
$ nkf --version
Network Kanji Filter Version 2.1.5 (2018-12-15)
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2018, The nkf Project.
nkfコマンドでファイルの文字エンコードを判定する
$ nkf -g shift_js.csv
Shift_JIS
$ nkf --guess shift_js.csv
Shift_JIS (CRLF)
文字コード
文字コード 改行コード
nkfコマンドから文字エンコーディングを受け取り、iconvコマンドでファイル変換する
shift_jis.csv
$ iconv -f Shift-JIS shift_jis.csv
#👇文字エンコーディングが適合した場合、ファイルの中身が正しく表示される
...
$ cat shift_jis.csv | iconv -f Shift-JIS
#👇文字エンコーディングが適合した場合、ファイルの中身が正しく表示される
...
-f/--from-code
iconv -l
SHIFT-JIS
shift-jis
Shift-Jis
$ cat shift_jis.csv | iconv -f UTF-8
: 位置 0 に不正な入力シーケンスがあります
$ ENC_TYPE=$(nkf -g shift_jis.csv)
$ cat shift_jis.csv | iconv -f $ENC_TYPE
#👇文字エンコーディングが適合し、ファイルの中身が正しく表示される
$ nkf -g shift_jis.csv | xargs -I{} iconv -f {} shift_jis.csv
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー