使用 Ansible 从文件中的 ansible stdout_lines 中删除符号

Remove symbols from ansible stdout_lines in file with Ansible

文件中有行 acounts.list

['# name prueba7@prueba7.com', 'zimbraIsDelegatedAdminAccount: TRUE']

我想删除 ['# name、所有 ''] 结果会是什么 prueba7@prueba7.com, zimbraIsDelegatedAdminAccount: TRUE

我尝试先创建要删除的任务['# name

- lineinfile:
    dest: /home/acounts.list
    state: absent
    regexp: "^\[\'\#\sname\s"

...但是我得到了错误。你能帮忙解决一下吗?谢谢。

改用替换:

- name: replace
  ansible.builtin.replace:
    path: /home/acounts.list
    regexp: "['\[\]]|# *name *"
    replace: ''

你也可以这样写:regexp: '[''\[\]]|# *name *'

['\[\]]表示替换所有'[](或==[])

因为 [ 和 ] 是特殊字符,你必须用 \" 来保护你必须用另一个 \ 来保护 \(不需要当被 ')

包围时

| 表示 or 而另一个表达式是 # *name * * 表示零个或多个 space