Re: ソースコード行末の不要なスペースやタブを除去する
sedによる書き換えは
sed -i 's/[[:blank:]]*$//'
だけでOK。-i
オプションで直にファイルを書き換えられる。シェルスクリプトにするなら
#!/bin/sh /bin/sed -i 's/[[:blank:]]*$//' "$@"
または
alias remove_space_eol="/bin/sed -i 's/[[:blank:]]*$//'"
としておけばコマンド的にも使える。
findとの組み合わせも
find ./app ./lib ./config ./db -type f | xargs remove_space_eol
でOK。-exec
オプションは見つかったファイル一つ一つに対してコマンドを実行しちゃうから非効率。せっかくスクリプト側で複数ファイル対応した意味がなくなっちゃう。
でも、上記コマンドだとSubversion管理していた時に.svnディレクトリ下も対象になっちゃうから
find ./app ./lib ./config ./db -type f ! -path "*/.*/*" | xargs remove_space_eol
の方が良いかもしれない。
書き忘れ、
find ./app ./lib ./config ./db -type f -print0 | xargs -0 remove_space_eol
の方がより良いね