Для шаблона, который выглядит следующим образом:
<VirtualHost 127.0.0.1:81>
Directive1
Directive2
</VirtualHost>
Я хочу вставить новую строку со строкой Directive3
перед </VirtualHost>
.Обратите внимание, что они могут содержать несколько объявлений <VirtualHost/>
в файле, но все они имеют уникальную пару IP: PORT.Это то, что у меня пока есть:
perl -p -i -e 's/(<VirtualHost 127\.0\.1\.1:81>[^(<\/VirtualHost>)+])(<\/VirtualHost>)/$1\n\tDirective3\n$2/ims' $file
Что в разбивке дает:
- имеет
<VirtualHost 127.0.0.1:81>
- , за которым следует
- имеетвсе, кроме
</VirtualHost>
- , за которым следует
</VirtualHost>
Но это ничего не соответствует: (...
Любая идея