【发布时间】:2020-01-14 16:28:46
【问题描述】:
我正在使用以下代码将旧主机名替换为新主机名,除了以数字开头的主机名外,它都可以正常工作。(OLD_HOSTNAME 和 NEW_HOSTNAME 是 vars)
tasks:
- name: "Updating file"
replace:
name: /tmp/interfaces
backup: yes
regexp: '(\s+){{ OLD_HOSTNAME }}(\s+)'
replace: '\1{{ NEW_HOSTNAME }}\2'
如果我将 \1 替换为 \g,那么以数字开头的主机名也会被放置。但根据 ansible doc、\1 is used ambiguously 和 \g<1> used explicitly。
问题:此更改是否会影响任何其他格式的主机名?
【问题讨论】:
-
我不太明白你在问什么......或者你可能不明白
\1,\2(或\g<1>和\g<2>分别)做什么?一些示例数据怎么样? -
是的,我对所有这些都是新手,我知道这些是反向引用,但不太了解其中的区别。
标签: regex linux ansible hostname