【シェル】nkfでShift-JISをUTF-8に変更する【macOS】

【シェル】nkfでShift-JISをUTF-8に変更する【macOS】

macOSでShift-JISのテキストファイルをUTF-8へ変更するため、シェルコマンド nkf を使ったときのメモになります。

文字コードを変えるソフトは nkf の他にも iconv が存在します。ですが iconv ですとテキストファイルが何の文字コードを使っているか調べられないため、nkf を使ったほうが便利だと思います。

ここでは nkf コマンドのカンタンな使い方を解説していきます。

nkfのインストール

macOSに nkf をインストールしましょう。

$ brew install nkf

インストールしたら nkf コマンドが使えるかどうかチェックしましょう。

$ nkf -v
Network Kanji Filter Version 2.1.5 (2018-12-15) 
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2018, The nkf Project.

(へー、富士通が開発なさったんですねー)

文字コードを調べる

文字コードを調べるには -g または --guess オプションを付与します。

こんな感じで文字コードが調べられます。

$ nkf -g data.csv
UTF-8

文字コード変換オプション

次に文字コード変換オプションを説明しておきます。

大文字が入力の文字コードで、小文字が出力の文字コードを表します。

オプション 意味
-S,-s Shift-JIS
-E,-e EUC-JP
-W,w UTF-8

Shift-JISをUTF-8へ変換する

Shift-JISのテキストファイルをUTF-8へ変換してみます。

UTF-8に変換して上書き保存

$ nkf -w --overwrite data.csv

どうも入力の文字コードの指定はいらないみたいです。

自動で判別してくれてるようですねぇ。これは便利!

別名で保存

別名で保存したいときは次のようにすればOKです。

$ nkf -s data.csv > data_jis.csv

カンタンですね!

さらに詳しくは $ man nkf でお調べなさってみてください。

記事に関するご質問などがあれば、
Twitter または お問い合わせ までご連絡ください。
関連記事