我如何在Ansible中获得重复的物品
输入:
- vars:
list1:
- a
- b
- c
- d
- d
- e
- e
- e
预期产量:
list1:
- d
- e
计算频率。例如
- set_fact:
list2: "{{ list2|default([]) +
[{'key': item,
'freq': list1|select('regex', myregex)|list|length}] }}"
loop: "{{ list1|unique|sort }}"
vars:
myregex: "^{{ item }}$"
- debug:
var: list2
给
"list2": [
{
"freq": 1,
"key": "a"
},
{
"freq": 1,
"key": "b"
},
{
"freq": 1,
"key": "c"
},
{
"freq": 2,
"key": "d"
},
{
"freq": 3,
"key": "e"
}
]
然后选择项目。例如
- set_fact:
list3: "{{ list2|json_query('[?freq > `1`].key') }}"
- debug:
var: list3
给
"list3": [
"d",
"e"
]
- set_fact:
list4: "{{ list4|default([]) + [item] }}"
loop: "{{ list1|sort }}"
loop_control:
extended: yes
when: item == ansible_loop.nextitem|default('')
- debug:
var: list4|unique
给出相同的结果
"list4|unique": [
"d",
"e"
]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句