作業ノート

様々なまとめ、雑感など

findコマンドで特定のディレクトリを対象外にして検索する

subversionで管理しているソースを検索するとき、対象に.svnが含まれてしまうので、それを回避する。

$ find ./ -type d -name .svn -prune -o -print

-pruneオプションをつけると、それ以下は検索しない。

また、.svn以外のディレクトリで、特定のファイルを検索したいときは次のようにする。

$ find ./ -type d -name .svn -prune -o -type f -name '*.php' -print

最後の-printオプションは必ず付けること。つけなければ.svnのディレクトリも表示される。

つまり、

$ find ./ -type d -name .svn -prune -o -type f -name '*.php'

$ find ./ -type d -name .svn -prune -print -o -type f -name '*.php' -print

と同じになる。