我在剧本中使用 set_fact 来使用 regex_findall() 收集数据。我用正则表达式取出两个组,最终结果变成一个列表列表。
set_fact: nestedList="{{ myOutput.stdout[0] | regex_findall('(.*?)\n markerText(.*)')}}"
列表的转储示例如下所示:
[[a,b],[c,d],[e,f],[g,h]]
我需要遍历父列表,并获取每个子列表的两部分并将它们一起使用。我尝试了 with_items 和 with_nested 但没有得到我正在寻找的结果。
使用上面的示例,在一次循环中我需要使用“a”和“b”。例如 item.0 = 'a' 和 item.1 = 'b'。在下一个循环中,item.0 = 'c' 且 item.1 = 'd'。
当它是这样的列表列表时,我似乎无法得到正确的结果。
如果我获取上面的列表并输出它,“项目”将遍历所有子列表中的每个项目。
- debug:
msg: "{{ item }}"
with_items: "{{ nestedList }}"
结果如下:
a
b
c
d
e
f
g
h
如何遍历父列表并使用子列表中的项目?
你想使用with_list
代替with_items
.
with_items
强制展平嵌套列表,同时with_list
按原样提供参数。
---
- hosts: localhost
gather_facts: no
vars:
nested_list: [[a,b],[c,d],[e,f],[g,h]]
tasks:
- debug: msg="{{ item[0] }} {{ item[1] }}"
with_list: "{{ nested_list }}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)