行末の不要なスペースやタブを削除するスクリプト
Posted by drikin on 2007年9月 8日 12:21
昔から気になっていたことに、プログラムの行末に入り込む無駄なスペースやタブ。
特に、自動インデントしてくれるエディタとかで、コピペを多用すると、どんどん行末に無駄なスペースが追加されていくわけですが、これが結構気分悪く、気がつくと削除するようにしてるのですが、テンパってたりすると放置しがちで、気分が悪いんですよね。
で、某Skypeチャットルームでヒアリングしてみると、やっぱり放置する人はいなくて、削除してるんですよね。でもよくよく聞いてみると、その手法は確立されてなく、perlや、気合いで削除されてる様子。ググってみてもなかなか情報が見つからない。プログラマ向けエディタでは必須機能にしてもいいと思うんだけど、、、
ということで、自分なりにやりやすい方法をしらべる、しらべる、しらべる、、、
積極sed使うことにしたんですが¥tがうまく効かずに¥とtを削り取るのにハマりましたが、どうも環境によっては¥tは使えない場合があるみたい。で変わりに[:space:]を使おうと思ったんですが、これも環境によっては\:space:\としないといけないらしい(なぜ?)
ということで、OSXで動作確認した行末スペースタブ削除スクリプトを自分のためにメモ
remove_useless_space.sh
#!/bin/sh
echo 'remove useless space from '$1
mv $1 $1.tmp
sed -e 's/\:blank:\*$//' $1.tmp > $1
rm $1.tmp
とすれば<ファイル名>の行末からスペースとタブが除去されます
$ ./remove_useless_space.sh <ファイル名>
Powered by ScribeFire.