在Ansible中,如何在文件末尾添加一个文本块,并在标记之前添加一个空白行?

普拉维达索

我有一个剧本,如下所示:

- hosts: localhost
  tasks:
    - name: update a file
      blockinfile:
        dest: /tmp/test
        block: |
          line 1
          line 2

运行剧本后,文件/tmp/test变为:

a # this is the end line of the original file
# BEGIN ANSIBLE MANAGED BLOCK
line 1
line 2
# END ANSIBLE MANAGED BLOCK

我想在标记“ # BEGIN ANSIBLE MANAGED BLOCK之前添加一个空行(换行符)以获取视觉效果,最简单的方法是什么?最好在任务范围内,但欢迎提出任何想法。如果我重新定义标记,它将同时影响“ BEGIN”和“ END”标记。

弗拉基米尔·博特卡

使用lineinfile例如

- hosts: localhost
  tasks:
    - name: update a file
      blockinfile:
        dest: /tmp/test
        block: |
          line 1
          line 2
    - name: insert empty line before the marker
      lineinfile:
        dest: /tmp/test
        insertbefore: '^# BEGIN ANSIBLE MANAGED BLOCK$'
        line: ''

不幸的是,insertbefore不能与更多的块一起使用。如果您坚持在块之间使用空行,则可能需要模板模块。

试试下面的剧本。不幸的是,EOF无法按预期工作

shell> cat manage-block.yml
- name: "insert {{ my_marker }} in {{ my_dest }}"
  blockinfile:
    dest: "{{ my_dest }}"
    marker: "# {mark} ANSIBLE MANAGED BLOCK {{ my_marker }}"
    block: "{{ my_block }}"
- name: "insert empty line before {{ my_marker }}"
  lineinfile:
    dest: "{{ my_dest }}"
    insertbefore: '^# BEGIN ANSIBLE MANAGED BLOCK {{ my_marker }}'
    line: 'empty line'
  when: ansible_loop.first
- name: "insert empty line after EOF"
  lineinfile:
    dest: "{{ my_dest }}"
    insertafter: EOF
    line: 'empty line'
- hosts: localhost
  vars:
    my_blocks:
      /tmp/test:
        - my_marker: block001
          my_block: |
            line 1
            line 2
        - my_marker: block002
          my_block: |
            line 3
            line 4
  tasks:
    - include_tasks: manage-block.yml
      with_subelements:
        - "{{ my_blocks|dict2items }}"
        - value
      loop_control:
          extended: true
      vars:
        my_dest: "{{ item.0.key }}"
        my_marker: "{{ item.1.my_marker }}"
        my_block: "{{ item.1.my_block }}"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在几行之后添加空白行,在空白行之后添加下一行从最后一个数字开始

来自分类Dev

如何点击一个元素并在另一个元素中添加文本

来自分类Dev

在第一个tabitem wpf之前添加一个文本块

来自分类Dev

用另一个文件的每一行填充文本文件中的空白行

来自分类Dev

在Ansible中,如何在文件末尾添加一行?

来自分类Dev

IntelliJ在类文件中最后一个'}'之前插入空白行

来自分类Dev

如何在每一行的末尾根据文件名在文件列表中添加一个字符串?

来自分类Dev

在第一个CSS多列顶部添加空白行

来自分类Dev

为什么xargs -0添加一个额外的空白行?

来自分类Dev

为什么xargs -0添加一个额外的空白行?

来自分类Dev

如何在一个步骤中从另一个目录复制文件名并在文件名中添加前缀?

来自分类Dev

如何在scala中的另一个列表的每个元素的末尾添加一个列表的每个元素?

来自分类Dev

如何在mysql中在查询末尾添加一个额外的行,其值为(previousRowColA +1)?

来自分类Dev

如何在python tkinter gui中为一个书写块添加一个区域

来自分类Dev

如何在C中的char数组末尾添加一个char(零)?

来自分类Dev

如何在目录的子目录中创建一个包含文件名的文本文件,并在每行前添加一个父目录名?

来自分类Dev

如何在一个jquery“ .css()”中为一个文本添加多个文本阴影

来自分类Dev

在href标记中添加一个span标记,其中包括jQuery的href标记文本

来自分类Dev

Perl:如何在第一个空白行之后删除所有内容?

来自分类Dev

Chef如何在一个代码块中添加,启用和安装

来自分类Dev

如何在文件的前一行包含一个模式的文件中添加一个也有模式的额外行?

来自分类Dev

从文件内部在另一个文件中的行匹配上方添加文本

来自分类Dev

如何在电子邮件地址中的单词“ com”之前添加一个点?

来自分类Dev

如何在此数组列表中的每个项目之前添加一个点?

来自分类Dev

如何禁止在 IntelliJ 中的类声明之后添加一个空白的新行?(代码样式)

来自分类Dev

如何写到文档中的下一个空白行?

来自分类Dev

在文件的每一行末尾添加一个随机数

来自分类Dev

尝试使用 sed 在文件的每一行末尾添加一个&符号

来自分类Dev

如何在每隔一行的末尾添加一个字符并删除其回车符

Related 相关文章

  1. 1

    如何在几行之后添加空白行,在空白行之后添加下一行从最后一个数字开始

  2. 2

    如何点击一个元素并在另一个元素中添加文本

  3. 3

    在第一个tabitem wpf之前添加一个文本块

  4. 4

    用另一个文件的每一行填充文本文件中的空白行

  5. 5

    在Ansible中,如何在文件末尾添加一行?

  6. 6

    IntelliJ在类文件中最后一个'}'之前插入空白行

  7. 7

    如何在每一行的末尾根据文件名在文件列表中添加一个字符串?

  8. 8

    在第一个CSS多列顶部添加空白行

  9. 9

    为什么xargs -0添加一个额外的空白行?

  10. 10

    为什么xargs -0添加一个额外的空白行?

  11. 11

    如何在一个步骤中从另一个目录复制文件名并在文件名中添加前缀?

  12. 12

    如何在scala中的另一个列表的每个元素的末尾添加一个列表的每个元素?

  13. 13

    如何在mysql中在查询末尾添加一个额外的行,其值为(previousRowColA +1)?

  14. 14

    如何在python tkinter gui中为一个书写块添加一个区域

  15. 15

    如何在C中的char数组末尾添加一个char(零)?

  16. 16

    如何在目录的子目录中创建一个包含文件名的文本文件,并在每行前添加一个父目录名?

  17. 17

    如何在一个jquery“ .css()”中为一个文本添加多个文本阴影

  18. 18

    在href标记中添加一个span标记,其中包括jQuery的href标记文本

  19. 19

    Perl:如何在第一个空白行之后删除所有内容?

  20. 20

    Chef如何在一个代码块中添加,启用和安装

  21. 21

    如何在文件的前一行包含一个模式的文件中添加一个也有模式的额外行?

  22. 22

    从文件内部在另一个文件中的行匹配上方添加文本

  23. 23

    如何在电子邮件地址中的单词“ com”之前添加一个点?

  24. 24

    如何在此数组列表中的每个项目之前添加一个点?

  25. 25

    如何禁止在 IntelliJ 中的类声明之后添加一个空白的新行?(代码样式)

  26. 26

    如何写到文档中的下一个空白行?

  27. 27

    在文件的每一行末尾添加一个随机数

  28. 28

    尝试使用 sed 在文件的每一行末尾添加一个&符号

  29. 29

    如何在每隔一行的末尾添加一个字符并删除其回车符

热门标签

归档