基本上,我有一个包含接口信息的文本文件(即接口gigabit0 / 1/2,接口gigabit0 / 2/3)。我需要在每个接口命令后添加一个额外的块。它必须如下所示: -
interface gigabit0/1/2
shutdown
!
interface gigabit0/2/3
shutdown
!
我使用了一个已经存在的“lineinfile”模块来匹配正则表达式,并在匹配后添加一个新行。
---
- hosts: localhost
tasks:
- name: Ansible insert
lineinfile:
path: ./ha.txt
line: |
shutdown
!
insertafter: interface?\s[a-z]\w*/[0-9]/[0-9]
state: present
with_lines: cat ha.txt
使用replace。下面的剧本
tasks:
- replace:
path: ha.txt
regexp: '(interface?\s[a-z]\w*/[0-9]/[0-9])'
replace: |-
\1
shutdown
!
与文件
> cat ha.txt
interface gigabit0/1/2
interface gigabit0/2/3
得到:
> cat ha.txt
interface gigabit0/1/2
shutdown
!
interface gigabit0/2/3
shutdown
!