Так что это помогает применить фильтр к правильной переменной. И вот где я нахожусь на кривой обучения, выясняя, какая переменная является правильной. Еще раз спасибо!

ible у меня есть список строк, которые я хочу объединить с символами новой строки, чтобы создать строку, которая при записи в файл становится серией строк. Однако, когда я использую фильтр join (), он работает с внутренним списком, символами в строках, а не с внешним списком, с самими строками. Вот мой пример кода:

# Usage: ansible-playbook tst3.yaml --limit <GRP>
---
- hosts: all
  remote_user: root

  tasks:

  - name: Create the list
    set_fact:
        my_item: "{{ item }}"
    with_items:
      - "One fish"
      - "Two fish"
      - "Red fish"
      - "Blue fish"
    register: my_item_result

  - name: Extract items and turn into a list
    set_fact:
        my_list: "{{ my_item_result.results | map(attribute='ansible_facts.my_item') | list }}"

  - name: Examine the list
    debug:
        msg: "{{ my_list }}"

  - name: Concatenate the public keys
    set_fact:
        my_joined_list: "{{ item | join('\n') }}"
    with_items:
      - "{{ my_list }}"

  - name: Examine the joined string
    debug:
        msg: "{{ my_joined_list }}"

Я хочу получить вывод, который выглядит так:

One fish
Two fish
Red fish
Blue Fish

Вместо этого я получаю:

TASK: [Examine the joined string] *********************************************
ok: [hana-np-11.cisco.com] => {
    "msg": "B\nl\nu\ne\n \nf\ni\ns\nh"
}
ok: [hana-np-12.cisco.com] => {
    "msg": "B\nl\nu\ne\n \nf\ni\ns\nh"
}
ok: [hana-np-13.cisco.com] => {
    "msg": "B\nl\nu\ne\n \nf\ni\ns\nh"
}
ok: [hana-np-14.cisco.com] => {
    "msg": "B\nl\nu\ne\n \nf\ni\ns\nh"
}
ok: [hana-np-15.cisco.com] => {
    "msg": "B\nl\nu\ne\n \nf\ni\ns\nh"
}

Как правильно объединить список строк с символом новой строки?

Ответы на вопрос(1)

Ваш ответ на вопрос