Как показать полный путь к файлу, найденному с помощью команды find и переданному grep для соответствия строке - PullRequest
0 голосов
/ 20 февраля 2020

У меня много конфигурационных файлов. php файлов в подкаталогах ниже, где я вызываю команду find и хочу перечислить имена путей только тех, для которых найдено соответствие строки grep. Вот что я пробовал до сих пор.

find `pwd -P` -name config.php -print -exec grep 'assetBasePath.*cloudfront' {} \;

Он частично выполняет свою работу, потому что команда find выводит список путей для всех найденных файлов конфигурации. php, а grep печатает соответствующую строку в файл, если шаблон действительно соответствует единице.

Я хочу получить вывод, аналогичный приведенному выше, но в котором показаны только пути к файлам, имеющим соответствие grep.

1 Ответ

1 голос
/ 20 февраля 2020

Переместите -print в правый конец, чтобы оно стало "стробированным" в результате exec:

find `pwd -P` -name config.php -exec grep 'assetBasePath.*cloudfront' {} \; -print 
...