[Mac] ファイルの文字コードを変換するnkfコマンドの使い方

  • 公開日:2016/8/22
この記事は最終更新日から8年以上が経過しています。

UTF-8がほとんどとなってきましたが、まだまだEUCを指定されたりすることがあります。
文字コードの変換はコマンドが便利です。

Homebrewでnkfコマンドをインストール

※Homebrew環境が整っていること前提の話です。。。

$ brew install nkf

インストールできたらバージョンをチェックしてみます。

$ nkf --version

現時点での最新です。

etwork 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 オプション ファイル [> 出力ファイル]

よく使うオプション

-w : UTF8コードを出力(BOM無し)
-e : EUCコードを出力
-s : Shift-JISコードを出力
-j : JISコード(ISO-2022-JP)を出力
-Lu : unix改行形式(LF)に変換
-Lw : windows改行形式(CRLF)に変換
-Lm : mac改行形式(CR)に変換
-g(--guess) : 文字コード自動判別の結果を表示
--overwrite : 元のファイルを上書きする
--version : バージョン情報を表示

nkfコマンド使用例

文字コードをチェック

$ nkf -g example.txt

変換後の結果チェックにも使えます。

UTF-8に変換

$ nkf -w --overwrite example.txt

元のファイルを残す場合は--overwriteは要りません。他コードへの変換でも同じです。

EUC-JPに変換

$ nkf -e --overwrite example.txt

Shift-JISに変換

$ nkf -s --overwrite example.txt

JIS(ISO-2022-JP)に変換

$ nkf -j --overwrite example.txt

unix改行形式(LF)に変換

$ nkf -Lu --overwrite example.txt

windows改行形式(CRLF)に変換

$ nkf -Lw --overwrite example.txt

mac改行形式(CR)に変換

$ nkf -Lm --overwrite example.txt

複数ファイルをまとめて変換

ディレクトリ内のファイルをまとめて変換できます。

ディレクトリ内にある拡張子htmlのすべてのファイルを文字コード:UTF-8、改行コード:LFに変換

$ nkf -wLu --overwrite *.html