Простой интуитивный способ состоит в том, чтобы Выбрать
элементы равны пустой строке. Другой немного не интуитивно понятный, но более компактный для написания, это просто отклонять
элементы (которые по умолчанию будут отклонять все непустые значения). В следующем плейбуке демонстрируются оба решения, которые дают одинаковый результат.
Обратите внимание отклонять
метод здесь будет работать только до тех пор, пока другие непустые элементы в списке не будут оценены как ложные. Если вы когда-нибудь ложно выберете логические значения, они также будут сохранены.
- хосты: локальный
сбор_фактов: ложь
вары:
_names: ["","ABC","",""]
Blanks_select: "{{ _names | select('==', '') | list }}"
Blanks_reject: "{{ _names | reject | list }}"
задачи:
- отладка:
переменная: "{{ элемент }}"
петля:
- пробелы_выбрать
- пробелы_отклонить
Который дает:
ИГРАТЬ [localhost] **************************************************** *************************
ЗАДАЧА [отладка] **************************************************** *************************
хорошо: [localhost] => (item=blanks_select) => {
"ansible_loop_var": "элемент",
"blanks_select": [
"",
"",
""
],
"предмет": "blanks_select"
}
хорошо: [localhost] => (item=blanks_reject) => {
"ansible_loop_var": "элемент",
"blanks_reject": [
"",
"",
""
],
"предмет": "blanks_reject"
}
ОБЗОР ИГРЫ ******************************************************* *********************
localhost: ok=1 изменено=0 недостижимо=0 не удалось=0 пропущено=0 спасено=0 проигнорировано=0