Напишите скрипт оболочки, который находит greps и выводит имя файла и содержимое в 1 строку

Чтобы увидеть все php-файлы, которые содержат & quot; abc & quot; Я могу использовать этот простой скрипт:

find . -name "*php" -exec grep -l abc {} \;

Я могу опустить -l, и я получаю некоторую часть содержимого вместо имен файлов в результате:

find . -name "*php" -exec grep abc {} \;

То, что я хотел бы сейчас, - это версия, которая делает оба одновременно, но на одной линии.

Ожидаемый результат:

path1/filename1: lorem abc ipsum
path2/filename2: ipsum abc lorem
path3/filename3: non abc quod

Более или менее какgrep abc * делает.

Edit: Я хочу использовать это как простой сценарий оболочки. Было бы замечательно, если бы вывод был в одной строке, поэтому дальнейшее сопоставление было бы возможно. Но не обязательно, чтобы скрипт был только одной строкой, я все равно помещаю его в файл скрипта bash.

Edit 2: Позже я обнаружил «ack», который является отличным инструментом, и я использую его сейчас в большинстве случаев вместо grep. Это делает все это и многое другое.http://betterthangrep.com/ Ты бы написалack --php --nogroup abc чтобы получить желаемый результат

Ответы на вопрос(3)

Ваш ответ на вопрос