我尝试使用 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
,因此您很有可能找到您的文件。
并且可以避免用空格和类似字符破坏您的搜索模式。