augeas:在httpd.conf中注释后插入指令

我试图在httpd.conf中相应的注释之后插入一个ServerName指令:

#ServerName www.example.com:80 

这失败了:

 defvar sncomment /files/etc/httpd/conf/httpd.conf/#comment[.= 'ServerName www.example.com:80'] ins directive after $sncomment defvar snentry /files/etc/httpd/conf/httpd.conf/directive[preceding-sibling::*[1][$sncomment]] set $snentry 'ServerName' set $snentry/arg 'www.domain:80' 

$ sncomment匹配正确的行,并在树的正确位置插入一个空白指令,但$ snentry匹配树中的每个指令,而不仅仅是插入的指令。 我怎样才能匹配插入的指令?

谢谢

有一个简单的方法来匹配刚刚插入的指令:

 defvar snentry /files/etc/httpd/conf/httpd.conf/directive[. = ''] 

只要树中没有其他空白指令,就可以工作。 但是,如果任何人都可以在我的代码中发现错误,我仍然想要得到前面的兄弟语法。