文字コード変換コマンドnkfの使い方まとめ linux – Knowledge Database IT.
構文
$ nkf オプション ファイル名 [> 出力ファイル名]
オプション一覧
-j(省略可能) : JISコード(ISO-2022-JP)を出力
-e : EUCコードを出力
-s : Shift-JISコードを出力
-w : UTF-8コードを出力(BOM無し)
-Lu : unix改行形式(LF)に変換
-Lw : windows改行形式(CRLF)に変換
-Lm : macintosh改行形式(CR)に変換
-g(–guess) : 自動判別の結果を表示
–overwrite : 引数のファイルに直接上書き
–version : バージョン情報を表示(インストール済チェック)
使用例
・文字コードチェック
$ nkf -g example.csv
・文字コード変換(UTF-8)
$ nkf -w –overwrite example.csv
・変換されているかチェック
$ nkf -g example.csv
UTF-8
文例
・文字コード変換(JISコード/ISO-2022-JP)
$ nkf -j –overwrite example.csv
・文字コード変換(EUC-JP)
$ nkf -e –overwrite example.csv
・文字コード変換(Shift-JIS)
$ nkf -s –overwrite example.csv
・文字コード変換(UTF-8)
$ nkf -w –overwrite example.csv
・ディレクトリ内txtファイル全てを、文字コード→UTF-8、改行→unix形式(LF)に変換
$ nkf -w Lu –overwrite *.txt
・ディレクトリ内txtファイル全てを、文字コード→Shift_JIS、改行→windows形式(CRLF)に変換
$ nkf -s Lw –overwrite *.txt
失敗例
$ nkf -w example.csv > example.csv
とやると、中身が空っぽになるので注意。
きちんと–overwriteオプションをつけるか、違う名前で変換後mvコマンドで上書きすること。
応用
・ディレクトリ以下のPHPファイルを全てUTF-8に変換する
$find -name ‘*.php’ | xargs nkf –overwrite -w