kengo92iの日記

プログラミングとかやったことの記録を書いていきます。

Macにnkfコマンドをインストールしてみる

nkfコマンドをMacにインストールする方法です.

ダウンロードしたファイルの文字コードShift_JISEUCなどだった場合に,UTF-8への変換を求められる場合などがあります.そのときにファイルの文字コードを簡単に変換してくれるコマンドがnkf (Network Kanji Filter)です.

インストール前の確認

念のため,nkfコマンドが既にインストールされているか確認します.

$ which nkf

何も出力結果が返ってこなければ,nkf がインストールされていません. 出力結果が返ってきたらここで終わりです.

インストール

MacPorts を使う

$ sudo port install nkf

上記のコマンドを入力するだけ,簡単ですね.

ソースコードからインストール

まず最初に nkf Network Kanji Filter プロジェクト日本語トップページ - OSDN からnkfソースコードをダウンロードしましょう.今回は執筆時点の最新バージョンである nkf 2.1.4 をダウンロードしました.

ダウンロードが終われば,Downloads ディレクトリに移動して,nkfソースコードを解凍します.

$ cd ~/Downloads
$ tar xvzf nkf-2.1.4.tar

解凍が終了した,nkf-2.1.4/ 内に移動し,以下のコマンドを入力します.

$ make
$ sudo make install

上記のコマンドを実行すると,自動的にインストールが開始されます.makeはC言語のコマンドを使っているので,C言語コンパイラがインストールされていないと動かないです.注意してください.

インストール後の確認

一応,確認のためにnkfコマンドが無事にインストールされたか確認しましょう.

$ which nkf
/usr/local/bin/nkf
$ nkf --version
Network Kanji Filter Version 2.1.4 (2015-12-12) 
Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).
Copyright (C) 1996-2015, The nkf Project.

インストールが無事に成功していれば,nkfコマンドがインストールされてパスが帰ってきます.nkfでファイルの文字コード変換ができるようになりました.

使い方

以下の実行例は全て,元のファイルをUTF-8に変換しています.

文字コードを変換して,新しいファイルとして保存する場合

$ nkf -w src.tex > dest.tex

文字コードを変換して,元のファイルを上書きする場合

$ nkf -w --overwrite src.tex

オプション

  • -j : JIS を出力する.(デフォルト)
  • -e : EUC を出力する.
  • -s : Shift_JIS を出力する.
  • -w : Unicode を出力する.
  • -w8 : UTF-8 を出力する.
  • -w16 : UTF-16 を出力する.
  • --overwrite : 変換したファイルを上書きする

その他,オプションは多数あります.