Подтвердить что ты не робот

Какой самый простой способ получить эквивалент GNU grep, который поддерживает негативные искажения?

Я пытаюсь grep через кучу файлов во вложенных подкаталогах искать соответствия регулярных выражений; моему регулярному выражению требуется отрицательный lookbehind.

Perl имеет отрицательный lookbehind, но насколько я могу сказать GNU grep не поддерживает отрицательные образы.

Какой самый простой способ получить эквивалент GNU grep, который поддерживает отрицательные lookbehinds?

(я думаю, я мог бы написать свой собственный мини-grep в Perl, но это не похоже, что это необходимо. Моя копия Perl Cookbook включает источник для tcgrep: это то, что я должен использовать? Если это так, где последняя версия? Не говорите мне, что я должен набирать всю эту программу!)

4b9b3361

Ответ 1

Используйте ack! Ack написан на Perl, поэтому он использует движок regex Perl (по умолчанию).

Отрицательный внешний вид - ack "(?<!bad)boy" (для каждого комментария)

Ответ 2

Спасибо за комментарий от другого вопроса . Я обнаружил, что отрицательный lookbehind экспериментально поддерживается в grep с опцией -P/--perl-regexp, поэтому вам все равно не нужно использовать другой инструмент, если вы предпочитаете использовать grep.

Кстати, предпочтительной альтернативой grep является grin (который написан на python).