□nkfって何?
まずはnkfって何だって話だと思う。
簡単に説明すると。
文字コード変換のためのLinuxコマンドとのこと
□nkfをインストールfor mac
macにはデフォルトではnkfはインストールされてません。
てなわけで、インストールしましょう。
homebrew使えば一発。
brew install nkf
□nkfを使ってみる
インストールしたら後はコマンドを実行するだけ。
いくつかコマンドを紹介します。
・ファイルの文字コードを調べる
ファイルの文字コードを調べたい場合は-gをつける
$ nkf -g README.md
UTF-8
※改行コードも調べたい場合は--guessとつけるといいらしい。UTF-8
・文字コードを変換する
文字コードを変えたい時は以下のコマンド。
-sみたいに変換したい文字コードをつけて実行する。
$ nkf -s README.md > README_test.md
$ nkf -g README_test.md
Shift_JIS
$ nkf -g README_test.md
Shift_JIS
変換する文字コードは代表的なところだと下記
-j JISコードに変換する。
-e EUCコードに変換する。
-s シフトJISコードに変換する。
-w UTF8に変換する。
-e EUCコードに変換する。
-s シフトJISコードに変換する。
-w UTF8に変換する。
指定したファイルそのものを変えたい場合は--overwriteをつける。
$ nkf -w --overwrite README_test.md
$ nkf -g README_test.md
UTF-8
※$ nkf -w README_test.md > README_test.mdみたいに書くと空ファイルになってしまうので注意$ nkf -g README_test.md
UTF-8
変換するファイルの文字コードがわかってる場合
UTF-8のファイルをシフトJISに変換したとか明示的にわかってる場合は-Wをつける。
$ nkf -Ws --overwrite README_test.md
$ nkf -g README_test.md
Shift_JIS
$ nkf -g README_test.md
Shift_JIS
代表的なコマンドは下記
-J JISコードと仮定して処理する。
-E EUCコードと仮定して処理する。
-S シフトJISコードと仮定して処理する。
-W UTF8と仮定して処理する。
・改行コードを置換する
LFをCRLFにしたいみたいな時は-Lwを使う。-E EUCコードと仮定して処理する。
-S シフトJISコードと仮定して処理する。
-W UTF8と仮定して処理する。
※LFに変えたい時は-Lu。
$ file README_test.md
README_test.md: Non-ISO extended-ASCII text, with LF, NEL line terminators
$ nkf -Lw --overwrite README_test.md
$ file README_test.md
README_test.md: UTF-8 Unicode text, with CRLF line terminators
こんな感じでファイルの文字コードを操作したい時はnkfを使うととっても便利ですね!!README_test.md: Non-ISO extended-ASCII text, with LF, NEL line terminators
$ nkf -Lw --overwrite README_test.md
$ file README_test.md
README_test.md: UTF-8 Unicode text, with CRLF line terminators