Ваш полный код подразумевает, что в выводе может быть несколько строк. Предположительно, все они следуют одному и тому же шаблону, и данные, которые вам нужны от каждого, это просто первый столбец - имя интерфейса? Если да, соответствует ли это вашим потребностям:
- set_fact:
interfaces: "{{ interfaces | default([]) }} + {{ [ item | regex_search('^([^ ])+') ] }}"
loop: "{{ rl00.stdout_lines | first }}"
- debug:
var: interfaces
(Примечание: в вашем примере rl00.stdout_lines содержит список со списком выходных строк в качестве единственного элемента. Это выглядит немного странно, и я не уверен, что бывают случаи, когда присутствуют другие элементы. Ответ должен работать для предоставленных вами примеров данных, но может привести к проблемам при возврате других элементов.)
Это:
- Прокручивает строки, содержащиеся в списке first , содержащемся в вашей зарегистрированной переменной rl00
- Фильтрация первых непробельных символов в начале строки
- Добавляет их как элемент в список «интерфейсы»
Это должно оставить вас со списком, содержащим имена интерфейсов. Затем вы можете обращаться с ними так, как вам нравится, поэтому, например, если они вам нужны в одной строке, разделенной пробелами, вы можете:
- debug:
var: interfaces | join(' ')