Ansible替换模块的正则表达式?
regex for Ansible replace module?
我试图通过设置行
来禁用我的默认 /etc/yum.repos.d/*.repo 文件
enabled=1
至
enabled=0
使用 Ansible 的替换模块非常简单。然而,一些 *.repo 文件有
enabled=1
而有些人
enabled = 1
也就是说,有的在=号两边没有space,有的有。此任务中的正则表达式值应该是多少才能同时处理这两个问题?
- 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 regular expressions。您需要做的就是为等号之间的空格 (\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
我试图通过设置行
来禁用我的默认 /etc/yum.repos.d/*.repo 文件enabled=1
至
enabled=0
使用 Ansible 的替换模块非常简单。然而,一些 *.repo 文件有
enabled=1
而有些人
enabled = 1
也就是说,有的在=号两边没有space,有的有。此任务中的正则表达式值应该是多少才能同时处理这两个问题?
- 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 regular expressions。您需要做的就是为等号之间的空格 (\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