Это команда, которую я использовал для поиска совпадений (queryString) в файлах php, в текущем каталоге, с grep, без учета регистра и отображения результатов сопоставления в строке:
find . -iname "*php" -exec grep -iH queryString {} \;
Isесть ли способ также передать только имя файла совпадений другому сценарию?
Возможно, я мог бы выполнить команду -exec дважды, но это кажется неэффективным.
Что бы я хотелdo на Mac OS X на самом деле «показывает» этот файл в поисковике.Я думаю, что справлюсь с этой частью.Если бы мне пришлось отказаться от встроенных совпадений и просто позволить grep показать имена файлов, а затем передать это третьему скрипту, это тоже было бы хорошо - я бы согласился.
Но яНа самом деле я даже не уверен, как передать вывод (совпадающие имена файлов) куда-то еще ...
Помогите!:)
Уточнение
Я бы хотел раскрыть каждый из файлов в окне поиска - так что я, вероятно, не собираюсь использовать флаг -q
и останавливаться на первом.
Я собираюсь запустить это в консоли, в идеале я хотел бы увидеть распечатки встроенных совпадений, а также возможность передать их в другой скрипт, например, oascript (applecript,выявить их в поисковике).Вот почему я использовал -H
- потому что мне нравится видеть как имя файла, так и совпадение.
Если бы мне пришлось довольствоваться простым использованием -l
, чтобы имя файла можно было легко передать по трубопроводук другому сценарию, это было бы тоже хорошо.Но я думаю, что, посмотрев ответ @Charlie Martin ниже, можно сказать, что xargs может быть полезен в этом случае одновременно с помощью одной команды find и одной команды grep.
Я сказал bash, но я не знаюна самом деле не против, если вместо этого нужно указать /bin/sh
- я пока не слишком разбираюсь в различиях, но знаю, что есть некоторые важные.
Спасибо всем за ответы, я собираюсь попробовать некоторые из них в командной строке и посмотреть, смогу ли я заставить их работать, а затем думаю, что смогу выбрать лучший ответ.Оставьте комментарий, если хотите, чтобы я уточнил что-то еще.
Еще раз спасибо!