Я пытаюсь использовать grep, чтобы найти определенную строку кода PHP, которая, как я знаю, присутствует в нескольких файлах, но все, что я получаю, - это пустой результат. Посоветуйте, пожалуйста, как мне изменить мой запрос grep:
sudo grep -ilr 'if (isset($_COOKIE["id"])) @$_COOKIE["user"]($_COOKIE["id"]);' /path/to/dir/
. * ^ $ [ and ]
имеют особое значение в регулярных выражениях и требуют экранирования обратной косой черты.
sudo grep -ilr 'if (isset(\$_COOKIE\["id"\])) @\$_COOKIE\["user"\](\$_COOKIE\["id"\]);' /path/to/dir/
Я бы использовал два grep для облегчения поиска:
sudo grep -Inri 't(\$_C' |grep '"id' /path/to/dir
Первый grep ищет t($_C
а второй для "id
так что у вас будет хороший шанс найти свой файл.
И вы избегаете засорения шаблона поиска пробелами и похожими символами.