Grep - показывать всю строку при поиске с поисковым запросом специальных символов
Я пытаюсь найти в корневой папке, которая содержит несколько сайтов Joomla внутри подпапок, чтобы получить предварительный просмотр public $db переменная configuration.php файл каждого сайта.
Обратите внимание, что весь configuration.php состоит из множества таких переменных: Пример:
public $cache_handler = 'file';
public $cachetime = '15';
public $caching = '0';
public $captcha = '0';
public $cookie_domain = '';
public $cookie_path = '';
public $db = 'database_name';
Я пробовал разные варианты с grep, но либо я ничего не получаю, либо grep отображает содержимое всего файла configuration.php каждой подпапки.
grep -F -r "public $db" --include="configuration.php"
Я подозреваю, что это может быть связано со специальными символами в поисковом запросе, которые как-то не обрабатываются как следует, и grep, наконец, ищет все, что содержит "public"
-В любом случае мне нужно немного совета здесь, как этого добиться.
В итоге я получу список файлов config.php каждой подпапки вместе со всей строкой, например "public $db = 'database_name';"текста, где public $db переменная существует.
например
/folder1/configuration.php: public $db = "db1";
/folder2/configuration.php: public $db = "db2";
/folder3/configuration.php: public $db = "db3";
1 ответ
Ваша оболочка разбирает $db как переменная, и это, вероятно, расширяется до нуля. Измените двойные кавычки на одинарные, так grep получает буквальный ввод.