1

第一行返回几十个结果。第二行不返回任何内容。

sudo find /var/www/ . -type 'f' -name index.php | grep "php"           
sudo find /var/www/ . -type 'f' -name index.php | grep "require" 

有一些文件index.php包含两个文本字符串。为什么第二行似乎不起作用?

4

1 回答 1

1

您想在管道到 grep 之前调用 xargs。您所拥有的是 grep 搜索 find 的结果,而不是 find 找到的文件的内容。

sudo find /var/www/ . -type 'f' -name index.php | xargs grep "php"

如果您进行大量这样的搜索,您可能需要查看ack。例如,要在 /var/www 中的所有 PHP 文件中搜索“require”,您可以使用:

ack --php require /var/www
于 2013-01-16T22:30:45.857 回答