Напишите скрипт оболочки, который находит 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
чтобы получить желаемый результат