
Для теста подручными средствами - приймем что начало секции маркеруется как sshd_enable в конфиге. Нужно вывести последуюшую за ней строку (или N строк до совпадения с концом секции)
Код: Выделить всё
srv # perl -ne 'print if m/sshd.*/s' /etc/rc.conf
sshd_enable="YES"
Что я делаю не так?
ЗЫ. исходная задача - найти нужную секцию (пару десятков строк) в большом конфиге, сделать с ней что-нибудь и записать обратно. (скрипты автоматизации нагиоса)
т.е. в идеале я хотел что-то в духе
Код: Выделить всё
perl -pi -e "s/\(# ${HOST} START.*\)# ${HOST} END/$1\n${MYADDONS}\n# ${HOST} END/s" myconf
поидее \(# ${HOST} START.*\) где ${HOST} START - начальная метка, под ".*" должны попадать все оставшиеся строки до совпадания с конечной меткой. "s///s" вторая s для совпадения "." с концом строки. И все это дело обозначаем как переменную $1