特定の名前を持ち、コンテンツに特定の文字列を含むすべてのファイルの場所を見つける方法は?

特定の名前を持ち、コンテンツに特定の文字列を含むすべてのファイルの場所を見つける方法は?

index.php「hello」という文字列を含むすべてのファイルの場所を見つけたいです。

ありがとうございます。

ベストアンサー1

grep次のように使用しますfind

find /top-dir -type f -name index.php -exec grep -l 'hello' {} +

/top-dir検索したい最上位ディレクトリへのパスはどこにありますか?

を使用すると、-type f一般的なファイルだけを見てfind名前が 。-name index.phpインファイルに検索を制限しますindex.php

-exec grep -l 'hello' {} +見つかったファイルに対して実行され、パターン()に一致するすべてのファイルのパスをgrep出力します。'hello'それはパスの出力を引き起こします-lgrep

最後に、通話ごと+findできるだけ多くのファイルが提供されますgrep。これ';'をまたはに変更すると、一度に1つのファイルが呼び出されるため、\;ファイルgrepが多いと速度が遅くなる可能性があります。

おすすめ記事