memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

ソースファイルの文字コードを確認する

JabrefのソースコードJava)の文字コード(改行コード)を調べました。

手順をメモとして残しておきます(Evernoteに残しておくような内容ですが。。。)

Jabrefのソースのトップディレクトリに移動して以下を入力します。(もっと短く書けるはずですがとりあえずベタな方法で)

find . -name "*.java" -exec nkf --guess {} \;  > a

続いて文字コード(改行コード)の種類を以下のコマンドで取得します。

 sort a | uniq

結果は以下のようになりました。

ASCII (CRLF)
ASCII (LF)
EUC-JP (LF)
UTF-8 (CRLF)
UTF-8 (LF)

OSSなのでいろいろな環境の人が手をつけているのでしょうけど。。。結構、ばらばらですねぇ。

最後に、wcコマンドと組み合わせて個数をカウントします。

sort a | uniq | awk '{cmd="grep \"" $1 " " $2 "\" a | wc -l"; printf $1 " " $2; system(cmd)}'

awkをなんとなく使っていたので、上記が動くまで1時間くらいかかってしまいました。ダブルクオーテーションの使い方が独特なんですね。。。結果は以下の通りでした。

ASCII (CRLF) 11
ASCII (LF) 561
EUC-JP (LF) 5
UTF-8 (CRLF) 1
UTF-8 (LF) 4

ちなみに、全部まとめて改行コードをLFに変更する場合は以下のコマンドでいけます。

find . -name "*.java" -exec nkf --overwrite -Lu {} \; 

やっと入口にきた。。。もう1時か。眠たいなぁ。。。