• ベストアンサー

すべてのディレクトリに対してgrepをかける方法について教えてください。

たとえば、/(ルート)配下にあるすべてのディレクトリ(サブディレクトリ)配下のファイルに対して、'test'という文字列が入っているかどうかを調べたいと思っています。 サブディレクトリは何階層にもなっており、存在するすべてのファイルに対して検索をかけたいと思っています。 以上のような場合にどのようにgrepを使用すればよいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
回答No.1

grepの種類によっては、「-r」オプション(ディレクトリを再帰的に検索) が使えることがあります。 >cd / >grep -r test * なければ「find」コマンドと組み合わせる方法があります。 >find ./ -type f -exec grep -H test \{\} \; サブディレクトリの階層があらかじめ分かっているなら次のような方法もあります。 >grep test * */* */*/* (3階層の場合です。ドット付きファイル(.loginとか)も検索したいなら「.*」等も 入れる必要があります。) お使いの環境が分かりませんので、状況によって使い分けてください。

DynamisH
質問者

お礼

回答ありがとうございます。 findと組み合わせることで確認ができました。

関連するQ&A