объединение grep игнорирует, и соответствует

:: 1 - версия IPv6 127.0.0.1

0
04.12.2014, 20:54
1 ответ

Отрицать регулярные выражения нелегко. Вы можете использовать отрицательные lookbehinds:

$ grep -C4 -P '(?<!call).*fn1' test.txt 
5-even more main code
6-call fn2
7-still more main code
8-
9:function fn1
10-call fn3
11-fn1 code
12-more fn1 code

Этот grep использует регулярные выражения в Perl-стиле (-P) для поиска любого экземпляра fun, которому не предшествует вызов call. И вы можете объединить -A4 -B4, чтобы получить -C4.

2
28.01.2020, 02:36

Теги

Похожие вопросы