如何使用 ansible 修改文件,但只修改一次



我正在使用 ansible,目前正在尝试替换但对 lineinfile 模块开放。 但是我只想编辑以 root 开头的行中的最后一列(第一次出现 0(。 https://docs.python.org/2/library/re.html 我一直在查看文档,不能只编辑第一次出现。我错过了什么?

foo.txt如下,然后是文件内容下方的 ansible 代码。

/root/bar/foo /                           defaults        1 0
/foo/bar/foo /                           defaults        1 0
/foo/bar/foo /                           defaults        1 0
/foo/bar/foo /                           defaults        1 0
/foo/bar/foo /                           defaults        1 0

- name: edit
replace:
path: /path/to/foo.txt
regexp: '0+$'
replace: '1'

问:">仅编辑以 root 开头的行中的最后一列。

答:下面的正则表达式替换可以完成工作

regexp: '^/root/(.*) 0+$'
replace: '/root/1 1'

最新更新