文本操作
file
path 文件对象地址
state 文件类型或者动作状态 (touch: 针对文件, directory:针对目录, link:针对软连接, hard:针对硬链接)src 软硬链接的源文件
owner 属主
group 属组
mode 数字权限
recurse 递归操作
blockinfile
在指定位置,插入文本块,并在文本块开头和结尾添加标记. 标记用来确认文本块的位置,一些参数会通过标记位置来修改文本块。
注释格式:
# BEGIN xxx
# END xxx
参数简介:
path 文件对象地址
block 需要添加的文本块
marker 自定义标记 xxx 部分,如果存在相同标记,则优先处理相同标记的文本块。
state 状态为absent时,删除标记包括的文本块
insertafter 正则或者EOF,插入匹配的指定行之后
insertbefore 正则或者BOF,插入匹配的指定行之前
backup 先备份,再操作,备份文件后缀是时间戳
create 文件不存在,则创建
# 这条命令中,如果marker标记已经存在,则insertafter将无效
-m blockinfile -a 'path= block=" " marker="#{mark} xxx" insertafter="正则"'
lineinfile
根据指定的内容,进行替换或删除
参数简介:
path 文件对象地址。
line 指定行内容(在没有正则的情况下,需要全匹配)。
regexp 通过正则匹配行,并将此行替换成 line 指定的内容,regexp有额外扩展参数,例如 backref。
line 若line匹配到某行,则不修改,若无匹配,则添加line至末尾。
regexp + line 若有regexp匹配到某行,替换匹配行为line;如果没有匹配,则将line追加到行尾。此时,regexp不支持分组。
regexp + backrefs (true)+ line 若有regexp匹配到某行,替换匹配行为line;如果没有匹配,则保持源文件不变;此时,regexp支持分组。
state 状态为absent时,删除匹配行
insertafter 正则或者EOF,插入匹配的指定行之后
insertbefore 正则或者BOF,插入匹配的指定行之前
backup 先备份,再操作
create 文件不存在,则创建
-m lineinfile -a 'path= line=" " insertafter="正则"'
replace
替换文件对象中符合匹配的字符串
path 文件对象地址
regexp 正则匹配
replace 替换后的字符串
backup 先备份,再操作