grep - исключая первичную строку

Этот вопрос подобен тому, но я хочу исключить строку заранее. Предположим файл:

cVar=
 cVar=
1 cVar=
Var=
 Var=

Я хочу к grep Var но нет cVar. Я попробовал grep -P '(?!c)Var' file но я получаю все строки файла. Когда я пробую grep -P ' (?!c)Var' file (отметьте пробел перед скобкой), я получаю последнюю строку, как это должно быть.

A * или. не помогает.

Я протестировал его на Ubuntu 16.04 LTS, 14.04 LTS и 10.04 LTS. Всегда тот же результат.

0
задан 13 April 2017 в 15:24

1 ответ

В синтаксисе Perl совместимого регулярного выражения (PCRE), (?!c) отрицательный взгляд вперед , тогда как то, что Вы хотите в этом случае, является отрицательным взглядом позади

$ grep -P '(?<!c)Var' file
Var=
 Var=

, См. Предвидение и Утверждения Lookbehind Zero-Length

3
ответ дан 28 September 2019 в 03:58

Другие вопросы по тегам:

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