[英]Ansible using replace filter to replace any character between 2 consecutive word
我能知道如何用 **** 替換 http://****: 和 @192.29.91.78:8080 之間的任何字符嗎? 條件是如果它有 https、:、@ 和 192.29.91.78:8080,則應將值從 : 替換為 **** 到 @。
下面是我的輸出示例和代碼。 我想為此使用過濾器。 如果有更好的解決方案,我也會打開它。
詹金斯輸出
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') }}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.