Ответ 1
Используйте ack! Ack написан на Perl, поэтому он использует движок regex Perl (по умолчанию).
Отрицательный внешний вид - ack "(?<!bad)boy"
(для каждого комментария)
Я пытаюсь grep через кучу файлов во вложенных подкаталогах искать соответствия регулярных выражений; моему регулярному выражению требуется отрицательный lookbehind.
Perl имеет отрицательный lookbehind, но насколько я могу сказать GNU grep не поддерживает отрицательные образы.
Какой самый простой способ получить эквивалент GNU grep, который поддерживает отрицательные lookbehinds?
(я думаю, я мог бы написать свой собственный мини-grep в Perl, но это не похоже, что это необходимо. Моя копия Perl Cookbook включает источник для tcgrep: это то, что я должен использовать? Если это так, где последняя версия? Не говорите мне, что я должен набирать всю эту программу!)
Используйте ack! Ack написан на Perl, поэтому он использует движок regex Perl (по умолчанию).
Отрицательный внешний вид - ack "(?<!bad)boy"
(для каждого комментария)
Спасибо за комментарий от другого вопроса . Я обнаружил, что отрицательный lookbehind экспериментально поддерживается в grep
с опцией -P/--perl-regexp
, поэтому вам все равно не нужно использовать другой инструмент, если вы предпочитаете использовать grep
.
Кстати, предпочтительной альтернативой grep
является grin
(который написан на python).