コマンドでファイルの文字コードを一括変更する

ファイルの文字コードを変更したいときにコマンドで一括変更する方法です。文字コードを一括変更したいときの例として、「複数のcsvファイルをスプレッドシートにインポートすると文字化けした。文字コードが原因なのでこれを変更したい。」という場合を想定します。文字コードがShift-JISのcsvファイルをGoogleスプレッドシートで読み込むと日本語が正常に表示できないので、utf-8に変更します。以下はその手順です。

macにnkfコマンドがインストールされているか確認する。

nkf --version

nkfコマンドがインストールされていなければ、インストールする。

brew install nkf

対象ファイルの現在の文字コードを確認する。

find . -name '*.csv' | xargs nkf -g

対象ファイルの文字コードを変換する。

find . -name '*.csv' | xargs nkf --overwrite -w

文字コードが変換されたことを確認する。

find . -name '*.csv' | xargs nkf -g 

以上の手順で文字コードをutf-8に一括で変更できます。utf-8に変更後にスプレッドシートにcsvファイルをインポートすると文字化けせずに表示されます。

nkfコマンドはファイルの文字コードを確認したり変更したりするときに使えます。
nkfコマンドのオプションがわかります。 → https://www.itsenka.com/contents/development/unix-linux/nkf.html