I have a simple file at /etc/foo.txt. The file contains the following:
#bar
I have the following ansible playbook task to uncomment the line ab
You need to add backrefs=yes if you don't want to change your regular expression.
- name: test lineinfile
lineinfile: backup=yes state=present dest=/etc/foo.txt
regexp='^#bar' backrefs=yes
line='bar'
This changes the behavior of lineinfile from:
find
if found
replace line found
else
add line
to:
find
if found
replace line found
In other words, this makes operation idempotent.