2007/05/06
改行コードやタブを統一してくれるスクリプト
改行コードやタブを統一してくれるスクリプトを書きました(探せばいくらでもあると思うけど)。改行コードにおける emacs と eclipse の壮絶なバトルを仲裁するために書いたのですが、(ネタがないので)一応紹介しておきます。
http://www.panicode.com/pub/unify.pl
からダウンロードして、
% perl unify.pl path-to-file
という感じで使えます。なお動作には Readonly モジュールが必要です。
それで実際どのような機能があるのかというと、
- ファイル内で最も多く使われている改行コードに統一( --newline=AUTO )
- 改行コードを指定して統一( --newline=CRLF,CR,LF )
- 要求する精度を指定してそれ未満の精度なら統一( --precision=90 )
- タブ幅を指定して統一 ( --tab-width=2 )
- --verbose と --no-output で統計情報取得
などがあります。
% find . -type f -name "*.java" | xargs perl unify.pl --verbose --no-output
とすれば stderr に改行コードの混合割合などの統計情報が表示されます。
% find . -type f -name "*.java" | xargs perl unify.pl --tab-width=8 --ask --newline=LF
とすれば、ファイルごとに統一するかどうかの質問が表示されます。また、タブが 8 個のスペースに、改行コードは LF に統一されます。
文字列リテラル判定なんて当然やってないので使用には注意が必要です。
# 久しぶりに perl を書くと時間がかかってしょうがない。
- Category(s)
- program
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/unify.pl/tbping
Re:改行コードやタブを統一してくれるスクリプト