Этот вопрос подобен тому, но я хочу исключить строку заранее. Предположим файл:
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. Всегда тот же результат.
В синтаксисе Perl совместимого регулярного выражения (PCRE), (?!c)
отрицательный взгляд вперед , тогда как то, что Вы хотите в этом случае, является отрицательным взглядом позади
$ grep -P '(?<!c)Var' file
Var=
Var=