Установите Homebrew и затем:
brew install pcre
Это даст вам последнюю pcregrep
Я хочу сделать простой регулярный поиск по каталогу, который не ограничен одной строкой.
Я попробовал grep и ack, но ни один из них не поддерживает это.
Я знаю, что это не должно быть слишком вычислительно дорого (в моем случае), потому что мой текстовый редактор по выбору ( Sublime Text ) может сделать это просто отлично.
Я просто ищу эту версию командной строки. Google включил pcregrep, но я не могу найти это для Mac. Я просто не смотрю в нужном месте?
Установите Homebrew и затем:
brew install pcre
Это даст вам последнюю pcregrep
Вы не сказали точно, что вы ищете, поэтому я представлю задачу выяснить, содержит ли файл 112, а затем 223, не обращая внимания на переводы строки.
Немного придуманное awk
решение:
awk -vRS='' '/112.*223/ { print "found it"; exit }' file.in
RS
Переменная содержит разделитель записей. Если установить пустую строку, весь файл будет считан как одна запись.
Это, вероятно, будет очень неэффективно для больших файлов.
Кстати, я делаю это на OpenBSD, но OS X awk должен работать так же.
«pcregrep» может относиться к более старой pcregrep
и более новой стабильным версиям pcre2grep
. Оба предоставлены проектом PCRE вpcre.org
.
Mac Ports предоставляет первый как часть порта pcre
(стабильный в версии 8.40), а второй как часть порта pcre2
(в настоящее время версия 10.22). Установить через:
% sudo port install pcre2