Назад | Перейти на главную страницу

Использование GREP для поиска текста в файлах

Я пытаюсь использовать 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 так что у вас будет хороший шанс найти свой файл.

И вы избегаете засорения шаблона поиска пробелами и похожими символами.