[英]How to replace a line which has multiple special characters with ansible playbook
嘗試替換具有多個特殊字符的行,該行被ansible解釋為轉義字符。
嘗試使用“ \\”和“。” 每個字符,並嘗試使用!unsafe。
- name: Update file
replace:
path: /some/file
regexp: "*[0-9a-zA-Z._-]* )" #<<=== This is line to be replaced
replace: "*[0-9a-z._-]* )" #<<== With this
backup: yes
出現如下錯誤:
引發錯誤,v#無效表達式\\ r \\ nsre_constants.error:無需重復\\ r \\ n“,” msg“:”模塊失敗\\ n請參見stdout / stderr了解確切錯誤“,” rc“:1}
您應該對特殊字符進行轉義,每個特殊字符之間應加一個反斜杠:
regexp: '\*\[0\-9a\-zA\-Z\._\-\]\* \)'
並且您應該使用單引號。
嘗試了一下,它起作用了:
regexp: '\*\[0-9a-zA-Z\._-\]\* \)'
replace: '*[0-9a-z._-]* )'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.