私はLinux(Ubuntu)を使用しており、
を実行しているときに特定のディレクトリ(.hgなど)を除外したいと思います。find | less
.hgディレクトリをリストから除外するために次のことを試みましたが、機能しないようです。
find -type d ( ! -iname .hg )
find -type d ( ! -name .hg )
find -type d ( ! -iname .hg )
.directory
を除外するにはどうすればよいですか 検索コマンドで
承認された回答:
同様のfind
の調査について 解決策shで「検索」の「-prune」オプションを使用する方法に関する役立つ説明を見つけましたか?ローレンス・ゴンサルベスによる。
次のようなものを使用できます:
find . ( -type d -name .hg -prune ) -o ( -type f -name "foo" -print )
または(名前なし)
find . ( -type d -name .hg -prune ) -o ( -type f -print )
(エスケープされた)括弧(
および)
テストをグループ化します(type
およびname
)および対応するアクション(prune
およびprint
、それぞれ)ORの左と右を一緒に(-o
。
-o
以降 並置よりも優先順位が低いため、必要に応じて括弧を省略できます。多くのfind
実装では、最後の-print
をスキップすることもできます 。
find . -type d -name .hg -prune -o -type f -name "foo" -print