簡體   English   中英

如何用Ansible Playbook替換具有多個特殊字符的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM