最近のLinuxはUTF8が標準になっていますが、ちょっと昔のファイルはEUCだったりします。UTF8に変換したい場合、一つずつ変換してもいいですが、大量ファイルがあると面倒なので、一括で変換する方法です。

nkf編

$ mkdir utf8
$ for i in `ls -I utf8`; do  echo $i; nkf -d -w80 $i > utf8/$i ; done

nkf : -d : LF(UNIX)に変換 -w80 : UTF8に変換

ls : -I utf8 : utf8というファイル名やディレクトリ名を出力しない

iconv編

iconvはうまく変換できずにエラーになる場合があるようです。 また、改行コードは変換できません。

$ mkdir utf8
$ for i in `ls -I utf8`; do  echo $i; iconv -f EUC-JP -t UTF9 $i > utf8/$i ; done

iconv : -f インプットファイルのコード -t アウトプットのコード