Linuxでファイルの文字コードを確認したり変えたりするコマンドを簡単に説明します。
文字コードを調べるコマンド
nkf --guess ファイル名
:このコマンドで、ファイルの文字コードを調べられます。file -i ファイル名
:これもファイルの文字コードをチェックする別の方法です。
文字コードを変える方法
- テキストエディタ(viやvim)を使う場合
:set fileencoding=新しい文字コード
と入力して、ファイルの文字コードを変更します。
- コマンドラインを使う場合
- iconvコマンド:
iconv -f 元の文字コード -t 新しい文字コード ファイル名 > 新しいファイル名
- 例:
iconv -f SHIFT_JIS -t UTF-8 shift_jis.csv > utf-8.csv
- 例:
- nkfコマンド:
nkf -新しい文字コード ファイル名 > 新しいファイル名
- 例:
nkf -w shift_jis.csv > utf-8.csv
(ここでの-w
は UTF-8の意味)
- 例:
- iconvコマンド:
ログファイルをUTF-8で見る
tail -f サンプル.log | nkf -u -w
:これで、ログファイルをリアルタイムでUTF-8の文字コードで見れます。
ファイルの文字コードを一括で変更
- 例えば、
.txt
で終わる全てのファイルをUTF-8に変更したい時は、このコマンドを使います。find . -name '*.txt' -type f -print0 | xargs -0 nkf -u --overwrite -w
- 注意:作業を始める前に、ファイルのバックアップを取っておきましょう!
この方法で、文字コードの確認や変更ができます。