最初の行は数十の検索結果を返します。2行目は何も返しません。
sudo find /var/www/ . -type 'f' -name index.php | grep "php"
sudo find /var/www/ . -type 'f' -name index.php | grep "require"
index.php
両方のテキスト文字列を含むと呼ばれるファイルがあります。2行目が機能しないのはなぜですか?
grepにパイプする前にxargsを呼び出したいと思います。あなたが持っているのは、findが見つけたファイルの内容ではなく、findの結果をgrepで検索することです。
sudo find /var/www/ . -type 'f' -name index.php | xargs grep "php"
このように検索をたくさん行う場合は、ackを確認することをお勧めします。たとえば、/ var / www内のすべてのPHPファイルで「require」を検索するには、次を使用します。
ack --php require /var/www