Grep-当搜索到特殊字符的搜索词时显示整行

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”的任何内容
- 无论如何,我都需要一些关于如何实现这一点的建议。

我追求的最终结果是获取一个列表,其中包含每个子文件夹的 configuration.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

您的 shell 正在将解析$db为变量,并且它可能扩展为无。将双引号更改为单引号,以便grep获取文字输入。

相关内容