我正在使用 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'