2007年09月08日

行末の不要なスペースやタブを削除するスクリプト

昔から気になっていたことに、プログラムの行末に入り込む無駄なスペースやタブ。
特に、自動インデントしてくれるエディタとかで、コピペを多用すると、どんどん行末に無駄なスペースが追加されていくわけですが、これが結構気分悪く、気がつくと削除するようにしてるのですが、テンパってたりすると放置しがちで、気分が悪いんですよね。

で、某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.

posted by drikin at 12:21| Comment(3) | TrackBack(0) | mac | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
Macなvim使いなので~/.vimrcに
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/
autocmd WinEnter * match WhitespaceEOL /\s\+$/
なんて設定を書いて表示されるようにして。
あとは
:%s/\s+$//g
とかしたりしてます。
Posted by otsune at 2007年09月08日 23:15
おー、貴重なコメントありがとうございます。
何かとvi使うことも多いので参考にさせていただきます
Posted by koh at 2007年09月10日 00:30
find ./ -type f -name "*.py" -o -name "*.h" -o -name "*.hpp" -o -name "*.c" -o -name "*.cpp" -o -name "*.m" -exec /usr/bin/remove_space.sh {} \;

とかをcronでまわすのもありかな
Posted by koh at 2007年09月13日 00:48
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/54434055

この記事へのトラックバック