【发布时间】:2019-09-29 11:55:39
【问题描述】:
我是 ansible 的新手。
我有一个包含多行的文件,其中某些行引用了 ipv4 地址。我的用例是用相同 ip 的递增版本替换每一行中的 ipaddress。
因此,例如,如果我的文件具有以下行:
一行的ip地址是10.1.1.1,用户名test1
一行的ip地址是20.2.2.2,用户名是test2
我想将其替换为:
一行的ip地址是10.1.1.2,用户名test1
一行的ip地址是20.2.2.3,用户名是test2
我正在使用 Ansible 替换模块在使用正则表达式的行中查找 ipv4 地址并替换。
- name: Increment and Replace Ip address and
replace:
path: "config/changed-ip.txt"
regexp: "{{ '([0-9]{1,3}[\\.]){3}[0-9]{1,3}' }}"
replace: "{{ 'x.x.x.x' }}"
以上代码将所有ip地址替换为我在replace中指定的地址
有没有办法从每一行中提取 ip 地址并将其递增并使用 lineinfile 或 replace 等任何模块替换 ipaddr 代替旧 ip?
我正在运行 ansible 2.6
【问题讨论】: