Для проверки, установлена или нет переменная в известном файле конфигурации.Регулярное выражение для файлов конфигурации unix
Мне нужно регулярное выражение, которое соответствует var=1
, но не # var=1
. Мои попытки не работают. Могу ли я кому-нибудь помочь, пожалуйста?
^(?<!#).*var.*
# соответствует как var=1
и # var=1
EDIT: последующая регулярное выражение решить эту проблему в регулярных выражений тестера (regxlib.com), но Grep не находит строку grep "^[^#].+(?<=var.*)" ~/testfile.conf
testfile.conf
#var=1 export var=2 export foo=2
Кто-нибудь знает, почему это в grep не работает?
EDIT2: Следующее выражение, похоже, решает мою проблему.
grep "^[^#]*var" ~/testfile.conf
resp. sed -n "/^[^#]*var/p" ~/testfile.conf
Что вы пробовали? Я думаю, вы имеете в виду '(?
Что вы тоже используете для этого? – anubhava