如何删除分行符'; ';来自Ansible中的lookup()模块的结果? [英] How to remove the line breaker character ' ' from the result of lookup() module in Ansible?
本文介绍了如何删除分行符';
';来自Ansible中的lookup()模块的结果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是[file lookup],它读取整个文件并将内容存储在一个变量中。我的剧本是这样的:
- name: Store foo.xml contents in a variable
set_fact:
foo_content: "{{ lookup('file', 'foo.xml' ) | replace('
', '')}}"
所以上面的代码读取foo.xml
文件并将其存储在变量中,但问题是当foo.xml
中有换行符时,它还会在变量中包含换行符。
我的foo.xml
是这个文件:
<?xml version="1.0" encoding="utf-8"?>
<initialize_param>
<secrets>
<my_secret id="99">3VMjII6Hw+pd1zHV5THSI712y421USUS8124487128745812sajfhsakjfasbfvcasvnjasjkvbhasdfasgfsfaj5G8A9+n8CkLxk7Dqu0G8Jclg0eb1A5xeFzR3rrJHrb2GBBa7PJNVx8tFJP3AtF6ek/F/WvlBIs2leX2fq+/bGryKlySuFmbcwBsThmPJC5Z5AwPJgGZx</my_secret>
</secrets>
</initialize_param>
输出将删除换行符
而且还包括标签
&;
我需要去掉
,也需要去掉多余的格式(
&;),此外,在替换过滤之后,我在将数据库更新查询激发为时收到错误消息
stderr: /bin/sh: 1: cannot open ?xml: No such file
推荐答案
使用锦家trim过滤:
"{{ lookup('file', 'foo.xml' ) | trim }}"
这篇关于如何删除分行符'; ';来自Ansible中的lookup()模块的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文