如何删除分行符' '来自Ansible中的lookup()模块的结果? [英] How to remove the line breaker character ' ' from the result of lookup() module in Ansible?

查看:25
本文介绍了如何删除分行符' '来自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 }}"

这篇关于如何删除分行符&#39; &#39;来自Ansible中的lookup()模块的结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆