我正在尝试使用 Ansible 注释掉下面的行。我遇到一个问题,每次运行剧本时都会添加评论。
\n如果已经注释掉,如何更改我的正则表达式以忽略该行?
\n- replace:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 path: /etc/rsyslog.conf\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 regexp: \'(.*@hostname.*)\'\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 replace: \'#\\1\'\n\xc2\xa0 notify:\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0 - Restart rsyslog\nRun Code Online (Sandbox Code Playgroud)\n
为此,您需要进行负向预测#,以排除以升号 ( ) 开头的行。
所以,你的正则表达式应该是^(?!#)(.*@hostname.*),你的任务最终将是:
- replace:
path: /etc/rsyslog.conf
regexp: '^(?!#)(.*@hostname.*)'
replace: '#\1'
Run Code Online (Sandbox Code Playgroud)