[英]Ansible lineinfile Regex
我有这个文字
[john]
age=20
group=wheel
[doe]
age=30
group=wheel
[stack]
age=undefined
group=wheel
color=white
[overflow]
age=undefined
我想用第一个正则表达式捕获:
age=20
和group=wheel of [stack] 与第二个
您正在尝试将正则表达式用于定义明确的文本文件格式; ini
查找是您实际所追求的:
# assuming the ini file is /tmp/foo.ini
tasks:
- set_fact:
john_age: '{{ lookup("ini", "age section=john file=/tmp/foo.ini") }}'
stack_group: '{{ lookup("ini", "group section=stack file=/tmp/foo.ini") }}'
然后,如果您的内容实际上不在文件中,则查找似乎仅适用于文件,因此您需要暂时将其写出到文件中:
tasks:
- copy:
dest: /tmp/foo.ini
content: '{{ the_ini_from_your_question_goes_here }}'
- set_fact:
john_age: '{{ lookup("ini", "age section=john file=/tmp/foo.ini") }}'
stack_group: '{{ lookup("ini", "group section=stack file=/tmp/foo.ini") }}'
- file:
path: /tmp/foo.ini
state: absent
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.