Ansible 替换模块的正则表达式?



我正在尝试通过设置行来禁用我的默认/etc/yum.repos.d/*.repo 文件

enabled=1

enabled=0

使用Ansible的替换模块足够简单。但是,某些 *.repo 文件具有

enabled=1

虽然有些人有

enabled = 1

也就是说,有些在 = 符号的每一侧都没有空格,而另一些则有。此任务中的正则表达式值应该是什么来处理这两个?

- name: Disable the existing CentOS repos in /etc/yum.repos.d
replace:
dest: /etc/yum.repos.d/{{ item }}
regexp: "enabled = 1" ####### What should this be?? ########
replace: "enabled=0"
with_items:
- CentOS-Base.repo
- CentOS-fasttrack.repo
- CentOS-Vault.repo
- CentOS-CR.repo

替换模块中的regexp参数使用 Python 正则表达式。 您需要做的就是在等号之间为空格(s(添加零个或多个限定符(*(。

- name: Disable the existing CentOS repos in /etc/yum.repos.d
replace:
dest: /etc/yum.repos.d/{{ item }}
regexp: 'enabled(s)*=(s)*1'
replace: "enabled=0"
with_items:
- CentOS-Base.repo
- CentOS-fasttrack.repo
- CentOS-Vault.repo
- CentOS-CR.repo

最新更新