• ベストアンサー

grepで特定のディレクトリを除外して再帰検索するには?

/hoge下のサブディレクトリ、ファイルで文字列mojiretsuを検索したいのですが 特に/hoge/foo下は除外して検索する場合には grepコマンドはどう記述したらいのでしょうか? # grep -lr mojiretsu /hoge だと/hoge/fooも検索されてしまいますよね。

質問者が選んだベストアンサー

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

find /hoge -path /hoge/foo -prune -o -type f -exec grep -l mojiretsu {} \; でいかがでしょうか。

_Yuuka
質問者

お礼

ありがとうざいます。 お陰さまで上手くいきました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

可能であれば、一時的に /hoge/foo の読取パーミッションを落としてから grep -r する手もありますね。 出来ないとすると、 find /hoge -print | grep -v '^/hoge/foo/' | xargs grep -l mojiretsu

_Yuuka
質問者

お礼

ありがとうざいます。 お陰さまで上手くいきました。

関連するQ&A