第1話

Macでnkfコマンドを使えるようにするには?

こんにちは!Takuya.B(@TB_IQ)です。

文字エンコードを変更する方法といえば、テキストエディタを開いてマウスでポチポチ選択する方法があります。

ただ、変更するファイルの数が多くなってくるとマウスでの操作が面倒臭いんですよね。。

文字エンコードを変換するには nkf という便利なコマンドが存在するのですが、実はこのコマンドMacにデフォルトで入っていないのです。。

そこで本日は、Macでnkfコマンドを使えるようにする方法をご紹介します!

スポンサーリンク

nkfをインストールする方法

nkfをインストールする方法は様々ありますが、今回はHomebrewを用いてインストールします。

$ brew install nkf

これだけです!

Homebrewのインストールがまだの方はこちらの記事を参考にインストールしてみてくださいね。

nkfでできること

nkfの書式

$ nkf <オプション> <パス/ファイル名>

1. 文字エンコードの変換

まず文字エンコードの変更です。

Shift-JISのファイルをUTF-8に変更したり、UTF-8(BOMなし)からUTF-8(BOMあり)に変更することが可能です。

以下の例をご覧ください。

# 元ファイル(hoge.txt)の文字エンコードがShift-JISの場合

# UTF-8に変換して表示する
$ nkf -w hoge.txt

# UTF-8に変換して上書き保存
$ nkf -w --overwrite hoge.txt

# UTF-8に変換して別名(fuga.txt)で保存. --ocオプション使用
$ nkf --oc=UTF-8 hoge.txt > fuga.txt

変換したい文字エンコードを示すオプション(一部)は以下です。

オプション内容
-wUTF-8(BOM無)で出力
-w8UTF-8(BOM有)で出力
-sShif-JISで出力
-jJISコードで出力
-eEUCコードで出力
--oc=文字エンコード種別任意の文字エンコードで出力
例) --OC=UTF-8

2. 改行コードの変換

改行コードも変換することができます!

# 元ファイル(hoge.txt)の改行コードがCRLFの場合

# 改行コードをLFに変換して上書き保存
$ nkf -d --overwrite hoge.txt

# 文字エンコードをUTF-8, 改行コードをLFに変換して別名(fuga.txt)で保存
$ nkf -wd hoge.txt > fuga.txt

3. ひらがな・カタカナに変換

また、あまり使わないかもしれませんが、ひらがな⇔カタカナの変換もできます!ただし、英数字・記号・漢字は変換されません。

# ひらがな→カタカナに変換して上書き保存(英数字・記号・漢字は変換されません)
$ nkf --katakana --overwrite hoge.txt

# カタカナ→ひらがなに変換して別名保存(英数字・記号・漢字は変換されません)
$ nkf --hiragana --overwrite hoge.txt

スポンサーリンク

まとめ

nkfは文字エンコード変換ツールです。

今回、紹介した例は一部です。こちらの記事が詳しくまとめられており、大変参考になりました!

前述の通り、文字エンコードはテキストエディタなどのソフトでも変換することは可能ですが、コマンドで手っ取り早く済ませたい方にはオススメです。

是非試してみてください。

では、次回もよしなに!