Ansible 可转换字符串中的新行

Ansible 可转换字符串中的新行,ansible,Ansible,我正在运行以下Ansible剧本: - name: Set String set_fact: string: item loop: "{{some_var|filter()}}" register: output - name : Create a File copy: content: "{{string}}" dest: Path/test.txt 某个变量是来自上一个任务的JSON 循环中仅执行一次的变量项包含以下内容: 'test test\n

我正在运行以下Ansible剧本:

- name: Set String
  set_fact:
    string: item
  loop: "{{some_var|filter()}}"
  register: output

- name : Create a File
  copy:
    content: "{{string}}"
    dest: Path/test.txt
某个变量是来自上一个任务的JSON

循环中仅执行一次的变量项包含以下内容:

'test test\ntest test'
test test\ntest test
因此test.txt文件包含以下内容:

'test test\ntest test'
test test\ntest test
我想在test.txt文件中获取此内容:

我认为应该修改过滤器返回的值。我不知道怎么做。
感谢使用文字块运算符|,如下所示:

- hosts: localhost
  gather_facts: false
  tasks:
    - name: Set String
      set_fact:
        string: |
          test test
          test test
      register: output

    - name : Create a File
      copy:
        content: "{{string}}"
        dest: test.txt
这导致:

$ cat test.txt
test test
test test
如果问题是您的变量包含文字字符串,\n并且希望将其转换为换行符,请使用replace方法:


使用文字块运算符|,如下所示:

- hosts: localhost
  gather_facts: false
  tasks:
    - name: Set String
      set_fact:
        string: |
          test test
          test test
      register: output

    - name : Create a File
      copy:
        content: "{{string}}"
        dest: test.txt
这导致:

$ cat test.txt
test test
test test
如果问题是您的变量包含文字字符串,\n并且希望将其转换为换行符,请使用replace方法:


谢谢示例中的字符串来自Ansible筛选器。如何格式化筛选器中的字符串?如果您可以更新您的问题以显示您的实际操作,我很乐意尝试更新此答案。谢谢。示例中的字符串来自Ansible筛选器。如何格式化筛选器中的字符串?如果您可以更新您的问题以显示您实际在做什么,我很乐意尝试更新此答案。您可以用实际值替换一些变量、其他变量等吗?也就是说,您能否更新您的问题,以便您提供的示例代码再现您所问的问题?此外,看起来您在循环中调用set_fact,但您放弃了循环中除最后一个值以外的所有值。是的,循环只执行一次。它从另一个任务输入一个JSON,输出是一个类似于示例中的字符串。您可以用实际值替换一些变量、一些其他变量等吗?也就是说,您能否更新您的问题,以便您提供的示例代码再现您所问的问题?此外,看起来您在循环中调用set_fact,但您放弃了循环中除最后一个值以外的所有值。是的,循环只执行一次。它从另一个任务输入一个JSON,输出是一个类似于示例中的字符串。