[FAQ CENTER トップ]
[Redhat Enterprise linux 6(EL) FAQ トップへ]





【質問】grepをサブディレクトリまで検索する

環境:Redhat Enterprise linux 6(EL)

【回答】
grep はサブディレクトリまで検索することはできません。grep をサブディレクトリまで実行するには xargs コマンドを使用します。
find コマンドでサブディレクトリのファイル一覧を取得し、その後 xargs コマンドで grep に引数一覧を渡します。


find <検索するフォルダ> -name '<検索対応のファイル名>' | xargs grep <検索する文字列>

以下の例では /(ルートフォルダ) からすべての *.conf ファイルで "splash.xpm.gz" という文字が含まれているファイルを検索します。

# find / -name '*.conf' | xargs grep splash.xpm.gz
/boot/grub/grub.conf:splashimage=(hd0,0)/grub/splash.xpm.gz
/etc/grub.conf:splashimage=(hd0,0)/grub/splash.xpm.gz

結果として以下の2ファイルが検出されています。
/boot/grub/grub.conf
/etc/grub.conf


(注意)
grep -r でも再帰的に検索できますが、ファイル名の指定はできません。

grep -r splash.xpm.gz /

で/(ルートフォルダ) からすべてのファイルで "splash.xpm.gz" という文字が含まれているファイルを検索します。




(*)本ページは Redhat Enterprise Linux 6以後を想定しています。

最終更新日:2018/01/09



[Redhat Enterprise linux 6(EL) FAQ トップへ]
[FAQ CENTER トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2012