私は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