To replace all lines in the file replace module is needed. This is the equivalent (backup differs).
tasks:
- lineinfile:
path: myconffile
backup: yes
state: absent
regexp: '\(ADDRESS = \(PROTOCOL = TCP\)\(HOST = 10.0.0.1\)\(PORT = 1501\)\)'
- replace:
path: myconffile
backup: yes
regexp: '\(ADDRESS = \(PROTOCOL = TCP\)\(HOST = 10.0.0.2\)\(PORT = 1501\)\)'
replace: '(ADDRESS = (PROTOCOL = TCP)(HOST = my-site.com)(PORT = 1501))'
- lineinfile:
path: myconffile
backup: yes
state: absent
regexp: '\(BALANCE = yes\)'
The simplified version is below.
tasks:
- lineinfile:
path: myconffile
backup: yes
state: absent
regexp: "{{ item }}"
loop:
- 'AAA'
- 'DDD'
- replace:
path: myconffile
backup: yes
regexp: 'BBB'
replace: 'CCC'
'/AAA/d;s/BBB/CCC/;/DDD/d'
? – Vladimir Botka Jun 11 '19 at 4:23