如何解决Ansible使用替换过滤器替换两个连续单词之间的任何字符
我能知道如何用****替换http:// ****:和@ 192.29.91.78:8080之间的任何字符。条件是如果它具有https,:,@和192.29.91.78:8080,则应将该值替换为**** from:to @。
下面是我的输出示例和代码。我想为此使用过滤器。如果有更好的解决方案,我也会对此开放。
詹金斯输出
TASK [Cloning From Bitbucket : Failed to clone from Bitbucket ***
fatal: [localhost]: FAILED! => {"changed": false,"msg": "fatal: unable to access 'http://****:myPssw0rd%40@192.29.91.78:8080/repo-name/repo-name.git/': Empty reply from server\n"}
我的剧本代码
rescue:
- name: Failed to clone from Bitbucket
fail:
msg: "{{ responseOutput.stderr }}"
我也尝试过
fail:
msg: "{{ responseOutput.stderr | regex_replace('^http:.*:.*@$','http://****:****@') }}"
解决方法
您可以使用正则表达式替换过滤器,
fail:
msg: "{{ errorMessage.stderr | regex_replace('^(.*http://\*\*\*\*:).*(@.*)$','\\1****\\2') }}"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。