我正在尝试修改<config-profile>
文件的ossc.conf
部分,包括谷物含量。
类似:
ossec-profiles:
- profile1
- profile2
并且我想从中修改<config-profile>
部分
<config-profile>centos, centos7</config-profile>
到
<config-profile>centos, centos7, profile1, profile2</config-profile>
在ossec.conf
文件中
有什么主意吗?
答案 0 :(得分:0)
这可以通过使用file.replace模块来完成,该模块使您能够基于模式来更改文件中的文本。因此,您可以执行以下操作:
您需要选择图案作为正则表达式组以便稍后使用它如下所示
configure_ossec:
file.replace:
- name: /path/to/ossec.conf
- pattern: '((<config-profile>.*?)[^<]*)'
- repl: {{ '\\1, ' + pillar['ossec-profiles'] | join(', ') }}
或者您可以使用此模式仅匹配config-profile
标记内的所有内容,然后就可以在repl
参数中再次调用它:
(?<=<config-profile>)(.*)(?=<\/config-profile>)
注意:如
pillar['ossec-profiles']
应返回的配置文件列表 那么您必须使用联接过滤器以分隔值 以逗号作为分隔符
和最后的输出预计将是这样的:
Changes:
----------
diff:
---
+++
@@ -1 +1 @@
-<config-profile>centos, centos7</config-profile>
+<config-profile>centos, centos7, profile1, profile2</config-profile>