Grep - mostra a linha inteira quando a pesquisa é encontrada com o termo de pesquisa de caracteres especiais

0

Estou tentando pesquisar na pasta raiz que contém vários sites do Joomla dentro de subpastas para ter uma prévia da variável public $db do arquivo configuration.php de cada site.

Observe que todo o configuration.php consiste em muitas dessas variáveis: Amostra:

public $cache_handler = 'file';
public $cachetime = '15';
public $caching = '0';
public $captcha = '0';
public $cookie_domain = '';
public $cookie_path = '';
public $db = 'database_name';

Eu tentei várias opções com o grep, mas eu não recebo nada ou o grep exibe o conteúdo de todo o arquivo configuration.php de cada subpasta.

grep -F -r "public $db" --include="configuration.php"

Eu suspeito que ele possa estar relacionado aos caracteres especiais no termo de pesquisa, que de alguma forma não são tratados como deveriam, e o grep finalmente procura por qualquer coisa que contenha "public". -Qualquer que seja o caso, eu preciso de um pouco de conselhos aqui sobre como conseguir isso.

O resultado final que pretendo é obter uma lista com os arquivos configuration.php de cada subpasta juntamente com toda a linha, por ex. " public $db = 'database_name'; " do texto em que a variável public $db existe.

por exemplo.

/folder1/configuration.php: public $db = "db1";
/folder2/configuration.php: public $db = "db2";
/folder3/configuration.php: public $db = "db3";
    
por FFrewin 20.04.2018 / 12:11

1 resposta

0

Seu shell está analisando o $db como uma variável e provavelmente está expandindo para nada. Altere as aspas duplas para aspas simples, de modo que grep receba a entrada literal.

    
por dsstorefile1 20.04.2018 / 20:37