尝试替换具有多个特殊字符的行,该行被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}
答案 0 :(得分:0)
您应使用每个反斜杠转义特殊字符:
regexp: '\*\[0\-9a\-zA\-Z\._\-\]\* \)'
并且您应该使用单引号。
答案 1 :(得分:0)
对此进行了尝试并奏效了:
regexp: '\*\[0-9a-zA-Z\._-\]\* \)'
replace: '*[0-9a-z._-]* )'