回答:
上と同様のための研究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
ご覧くださいack
:http://betterthangrep.com/
既定の除外フォルダーの適切なセット(たとえば、.hgは既定の除外フォルダー)に加えて、新しいフォルダーを簡単に除外できます。
ack --ignore-dir=.directory search_term
ファイルのリストを探しているユースケースにこれを戻すには、次のような-f
オプションを使用します。
ack -f --ignore-dir=.directory
複雑な検索/検索コマンドの作成から単純なackコマンドの作成に切り替えました。
ヒント:よく使用されるコマンドラインオプション(除外フォルダーなど)を.ackrcファイルに入れます。
find | less
質問に基づいて、OPはファイルの単純なリストを探しています。これはどのように役立ちますか?
-prune
、最初のセットのブラケット、および-type f -print
2番目のセットの内側に入れて、and / or操作をより明確にするだけでしたが、それ以外の場合、これはスポットライトに見えます。