如何展平 Ansible 列表列表并写入文件 - IOS / Nexus (nxos)

How to flatten an Ansible list of lists and write out to file - IOS / Nexus (nxos)

ANSIBLE LOOPS
=============

我有以下任务需要将结果写入文本文件。 Reg 产生 "list of lists"。我似乎只能使用 Jinja2 模板循环样式来获得我想要的东西。是否还有其他 'elegant' 方法可以使用 "with_list:" 命令或其他技术来完成此操作?

- name: Show Commands
  nxos_command:
    provider: "{{ provider }}"
    commands:
       - show version | include bin
       - show ip int brief
       - show ip route
       - show run | include logging
       - show snmp host

  register: reg
- debug: var=reg.stdout_lines


- copy:
    content: |
      {% for line in reg.stdout %}
        {{ line }}

      {% endfor %}
    dest: ./{{ CRQ }}/{{ inventory_hostname }}_post_{{ CRQ }}.txt

您可以使用join将其转换为字符串:

- copy:
    content: '{{ reg.stdout | join("\n") }}'
    dest: ./{{ CRQ }}/{{ inventory_hostname }}_post_{{ CRQ }}.txt