使用 GREP 在文件中查找文本

使用 GREP 在文件中查找文本

我尝试使用 grep 查找我确信存在于多个文件中的特定 PHP 代码行,但我得到的只是空结果。请告诉我需要如何修改我的 grep 查询:

sudo grep -ilr 'if (isset($_COOKIE["id"])) @$_COOKIE["user"]($_COOKIE["id"]);' /path/to/dir/

答案1

. * ^ $ [ and ]在正则表达式中具有特殊含义,需要用反斜杠转义。

sudo grep -ilr 'if (isset(\$_COOKIE\["id"\])) @\$_COOKIE\["user"\](\$_COOKIE\["id"\]);' /path/to/dir/

答案2

我将使用两个 grep 来简化搜索:

sudo grep -Inri 't(\$_C' |grep '"id' /path/to/dir

第一个 grep 搜索t($_C,第二个 grep搜索"id,因此您很有可能找到您的文件。

并且可以避免用空格和类似字符破坏您的搜索模式。

相关内容