一、概述
replace 模块可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被匹配到的字符串都会被替换。
二、常用参数
path参数 :必须参数,指定要操作的文件,2.3版本之前,只能使用 dest, destfile, name指定要操作的文件,2.4版本中,仍然可以使用这些参数名,这些参数名作为 path 参数的别名使用。
regexp参数 : 必须参数,指定一个 python 正则表达式,文件中与正则匹配的字符串将会被替换。
replace参数 : 指定最终要替换成的字符串。
backup参数 :是否在修改文件之前对文件进行备份,最好设置为yes。
三、示例
把 ansible-demo3 主机中的 /testdir/test 文件中的所有 ABC 替换成 abc。
[root@ansible-manager ~]# ansible ansible-demo3 -m replace -a 'path=/testdir/test regexp="ABC" replace=abc'
ansible-demo3 | SUCCESS => {
"changed": true,
"msg": "2 replacements made"
}
返回信息显示,替换了2个地方。
把 ansible-demo3 主机中的 /testdir/test 文件中的所有 ABC 替换成 abc,但是在操作文件之前进行备份。
ansible ansible-demo3 -m replace -a 'path=/testdir/test regexp="ABC" replace=abc backup=yes
'```