【问题标题】:find with grep not returning results用 grep 查找不返回结果
【发布时间】:2013-01-16 22:25:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: grep find


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-20
      相关资源
      最近更新 更多