使用GREP在文件中查找文本

我试图使用grep来查找特定的PHP代码行,我知道肯定是存在于几个文件中,但我所得到的是一个空的结果。 请告诉我如何修改我的grep查询:

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

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

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

我会使用两个greps来简化search:

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

第一个grepsearcht($_C ,第二个为"id所以你很有可能find你的文件。

而且你可以避免用空格和类似的字符炸掉你的search模式。