linux iconvコマンドとnkfコマンドでファイルの文字コードを変換する方法
iconv を使って変換する方法
構文は下記のようになります。
iconv -f [エンコード指定] -t [エンコード指定] [入力ファイル]
実際に Windows 上で作成した Shift-jis のファイルを utf-8 に変換してみる
iconv -f CP932 -t UTF8 shift-jis.txt > utf8.txt
※Shift-jis を変換したいときには cp932 を指定する必要があります。
nkf を使って変換する方法
ubuntu16.04lts では標準で nkf コマンドがインストールされていませんので、インストールしてから使用する必要があります。
sudo apt install nkf
「-g」オプションを使うと、ファイルの文字コードを調べることができます。
$ nkf -g sample.txt
UTF-8
比較的よく使われそうなオプション一覧。
-w : UTF-8で出力
-s : Shift-JISで出力
-e : EUC-JPで出力
-g : 自動判別
--overwrite : 直接上書き
EUC-JP に変換する場合は下記のようにします。
nkf -e --overwrite sample.txt
UTF-8 に変換する場合は下記のようにします。
nkf -w --overwrite readme.txt