在ansible中,我想替换它:
<sadmin>
<user>admin@localhost</user>
</sadmin>
有了这个:
<sadmin>
<user>user1@somedomain</user>
<user>user2@somedomain</user>
<user>user3@somedomain</user>
</sadmin>
我试过使用替换模块,但不知道正则表达式是否可以跨越多行(我将如何使用 python 原始符号作为换行符?)。我尝试了该xml
模块,但我认为这实际上不是 XML 文件,因为它一直<?xml version='1.0' encoding='UTF-8'?>
在文件顶部添加标题。我怎样才能做到这一点?更好地使用模板?
- name: add replacements to jabber config files
replace:
path : "/etc/jabberd2/{{ item.path }}"
regexp : "{{ item.regex }}"
replace: "{{ item.replace }}"
with_items:
- { path: 'muc.xml', regex: 'conference.localhost', replace: 'conference.mydomain' }
- { path: 'muc.xml', regex: '<sadmin>.*</sadmin>', replace: '<sadmin><user>user1@somedomain</user>\n<user>user2@somedomain</user></sadmin>' }
下面的播放按要求进行
下面的下一个示例显示如何替换整个sadmin部分