Найти, grep и выполнить - все в одном?

Это команда, которую я использовал для поиска совпадений (queryString) в файлах php в текущем каталоге, с grep, без учета регистра и отображением результатов совпадений в строке:

find . -iname "*php" -exec grep -iH queryString {} \;

Есть ли способ передать по конвейеру только имя файла с совпадениями в другой сценарий?

Я, вероятно, мог бы запустить команду -exec дважды, но это кажется неэффективным.

Что я хотел бы сделать с Mac OS X тогда фактически "раскрывает" этот файл в поисковике. Думаю, я справлюсь с этой частью. Если бы мне пришлось отказаться от встроенных совпадений и просто позволить grep отображать имена файлов, а затем передать их третьему скрипту, это тоже было бы хорошо - я бы согласился.

Но я даже не знаю, как направить вывод (совпадающие имена файлов) куда-нибудь еще ...

Помогите! :)

Пояснение

Я хотел бы показать каждый из файлов в окне поиска - поэтому я, вероятно, не собираюсь использовать флаг -q и останавливаться на первом.

Я собираюсь запустить это в консоли, в идеале я хотел бы видеть распечатанные там встроенные совпадения, а также иметь возможность передавать их другому скрипту, например oascript (applescript, чтобы отображать их в искатель). Который' s, почему я использую -H - потому что мне нравится видеть и имя файла, и совпадение.

Если бы мне пришлось использовать просто -l , чтобы имя файла можно было бы легче передать другому скрипту, это тоже было бы нормально. Но, посмотрев на ответ @Charlie Martin ниже, я думаю, что xargs может быть здесь полезен для одновременного выполнения как одной команды find, так и одной команды grep.

Я сказал bash, но на самом деле не не возражайте, если это необходимо вместо этого запустить как / bin / sh - я еще не слишком много знаю о различиях, но я знаю, что есть некоторые важные.

Спасибо всем за ответы, я собираюсь попробовать некоторые из них в командной строке и посмотреть, смогу ли я заставить их работать, а затем я думаю, что смогу выбрать лучший ответ. Оставьте комментарий, если вы хотите, чтобы я уточнить еще что-нибудь.

Еще раз спасибо!

18
задан Cole Busby 14 March 2014 в 20:16
поделиться