Not knowing the state of your environment or what you intend to do with the 
registered fact, I can only offer you this advice:

If a line in a file needs to exist and an action should occur if that file 
is changed, line in file is the most precise way to do this operation.

If you are using searches or other methods to find values in a file in 
order to notify actions, you haven't added additional precision to your 
plays. The risk of using regular expression is no different if you use line 
in file or if you use grep. There's some great regular expression builders 
on the web. Try using that to improve the precision of lineinfile, instead 
of querying system states using grep or other utilities.

On Tuesday, February 13, 2018 at 10:53:52 AM UTC-6, Nico Sabbi wrote:
> That may turn out to be too late depending on the complexity of the R.E.
> It's not an error-proof approach.
> Il giorno martedì 13 febbraio 2018 16:48:53 UTC, Arthur Reyes ha scritto:
>> You should run your playbook in check mode until you're certain that your 
>> regular expression is precise.
>> On Tuesday, February 13, 2018 at 10:45:57 AM UTC-6, Nico Sabbi wrote:
>>> HI,
>>> I need to do a grep-like search in a file without using shell commands 
>>> and in a check_mode compatible way.
>>> I just need to check  the presence of a given string a in a file without 
>>> doing overwrites of any kind.
>>> I implemented something with lineinfile but I'm very annoyed by the need 
>>> to  specify the line parameter to overwrite the file
>>> because the r.e. may be wrong.
>>> Is there any cleaner way to do what I need?
>>> - name: grub
>>>   become: true
>>>   lineinfile:
>>>     path: /etc/myfile
>>>     backrefs: yes 
>>>     regexp: "^CMDLINE (.*)"
>>>     line: 'CMDLINE \1'
>>>     state: present
>>>   register: myxx
>>> Thanks.

You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
To view this discussion on the web visit
For more options, visit

Reply via email to