ファイルの文字コードを判別したり変換したりできるnkf Network Kanji Filter プロジェクト日本語トップページ - SourceForge.JPの最新版(2.1.3)を試したところ、高機能さに感動。
特に良いなと思ったのが、--guessオプションでUTF-8のBOM付かどうかを簡単に調べられるところ。
BOM付のファイルに対して--guessした場合:
$ nkf --guess test.c UTF-8 (BOM) (LF)
BOM無のファイルに対して--guessした場合:
$ nkf --guess test.c UTF-8 (LF)
ここからは最新版でなくてもできていた話だけど、参考に書いておく。
Linux <=> Windowsの移動ではまる文字コードの問題も、--overwriteオプションで文字コードを全置換することで解決できるので便利。
以下は、カレントディレクトリ以下にあるすべてのディレクトリの*.cファイルを、BOM付UTF-8に全置換する例。**/*.cはzshの機能。
$ nkf -w8 --overwrite **/*.c