消除Ansible打印中不需要的字符

消除Ansible打印中不需要的字符,ansible,Ansible,我通过register命令将信息存储在ansible中的可变主机中。然后我尝试一行接一行地打印变量主机的内容(信息1到3) 信息-1 信息-2 信息-3 相反,我在打印时得到了这个结果。 [u'INFORMATION-1'],[u'INFORMATION-2'],[u'INFORMATION-3'] 你知道如何消除括号[]、u和撇号(')等不需要的字符,并以我想要的格式打印结果吗 你知道如何消除括号[]、u和撇号(')等不需要的字符,并以我想要的格式打印结果吗 这是因为无论你打印什么东西,实际上

我通过register命令将信息存储在ansible中的可变主机中。然后我尝试一行接一行地打印变量主机的内容(信息1到3)

信息-1

信息-2

信息-3

相反,我在打印时得到了这个结果。 [u'INFORMATION-1'],[u'INFORMATION-2'],[u'INFORMATION-3']

你知道如何消除括号[]、u和撇号(')等不需要的字符,并以我想要的格式打印结果吗

你知道如何消除括号[]、u和撇号(')等不需要的字符,并以我想要的格式打印结果吗

这是因为无论你打印什么东西,实际上都是一个python
list
包含3个python
list
s,它们本身包含一个unicode
str

如果希望它们以行分隔,则
join()
过滤器将为您执行此操作,并且对内部列表使用联接也应该是安全的,以防在内部列表中出现多个值:

# assuming your values are in a variable named "list_list_str"
- debug: var=the_output
  vars:
    the_output: '{{ list_list_str | map("join", "\n") | join("\n") }}'

谢谢你的帮助,马修。我的工作量太大了,所以我回复晚了。我试过你的建议了假设你的价值值是在一个变量中假设你的价值值是在一个变量中假设你的值是在一个变量中假设你的值是在一个变量中假设你的值是假设你的值是在一个变量中假设你的值是在一个变量中假设你的值是在一个变量名为“列表”的变量中假设你的值是在一个变量中命名为“列表”的调试:调试:var:var:变量输出:变量:本次输出:本次:本次,输出:本次输出:本次输出:本次输出:本次输出:::::::{输出:本次输出:本输出:本输出:本输出:::{输出::{输出:{{{{输出:{{{自自自自自自列表列表列出列出列出列出列出列出列出,美国,strstrstr,地图;地图;地图;地图;地图;地图;地图;地图(“加入(“加入”,“加入”,“加入”图(“加入”,“加入”,“加入”,“加入_输出“:“INFORMATION-1\\nINFORMATION-2\\nINFORMATION-3”}不需要的字符,如括号[]、u和撇号(')在ANSIBLE调试中消失了..但当我试图使用下面的jinja html代码打印它时:html jinja:接口状态W/DESCRIPTION:{{u输出}}


结果:[u'INFORMATION-1'][u'INFORMATION-2'][u'INFORMATION-3']仍然或多或少地与以前一样有问题的输出..存在不需要的字符,并且未达到所需的格式..谢谢我发现调试输出是正确的,但您无法在jinja2模板中进行调试。仅根据该片段,您似乎缺少
映射(“join”,“\n”)
将这些内部列表折叠为一个
str
。另外,如果您希望发出html,那么使用
join(
)作为最终的连接,因为换行符在html中并不重要