Ubuntu 如何用一本好的剧本来评价线的倍数

Ubuntu 如何用一本好的剧本来评价线的倍数,ubuntu,ansible,Ubuntu,Ansible,我可以用ansible playbook评论一行 - name: Comment out a line replace: dest: /etc/nova/nova.conf regexp: '^connection = sqlite:////var/lib/nova/nova.sqlite' replace: '#connection = sqlite:////var/lib/nova/nova.sqlite' tags: update-nova.conf 这个

我可以用ansible playbook评论一行

- name: Comment out a line
  replace:
    dest: /etc/nova/nova.conf
    regexp: '^connection = sqlite:////var/lib/nova/nova.sqlite'
    replace: '#connection = sqlite:////var/lib/nova/nova.sqlite'
  tags: update-nova.conf
这个解决方案行吗?有更好的办法吗


但如果我想注释行的多个字符,我应该怎么做?

您的正则表达式可以吗?从:
使用反向引用的正则表达式替换文件中特定字符串的所有实例

你能分享你的
nova.conf
文件的部分内容吗

您还可以做什么:

- name: Comment out a line
  replace:
    dest: /etc/nova/nova.conf
    regexp: "{{ item.exp }}"
    replace: "{{ item.replace }}"
  tags: update-nova.conf
  with_items:
    - { exp: '^connection = sqlite:////var/lib/nova/nova.sqlite', replace: '#connection = sqlite:////var/lib/nova/nova.sqlite'}
    - { exp: 'test', replace: '#test'}

您可以将反引用加上
|
和括号与不同的正则表达式一起使用

    regexp: '^((1|2).*)$'
    replace: '#\1'
这将注释所有以1或2开头的行