sed/grep will not affect your file, they will just get how many lines you would like to change
On 9 February 2014 00:17, Jeff Geerling <[email protected]> wrote: > Is there any way to make lineinfile work with Python's multiline regex > (like /pattern/s)? lineinfile makes the idempotence a bit easier than > grep/sed. But I'll go that route if need be. Usually, I just use a template > file anyways, but for this particular file, there are just three lines that > need replacing, and the config file is pretty long. > > > On Thursday, February 6, 2014 9:57:27 PM UTC-6, Walid Shaari wrote: > >> The one way i know of is either just use shell/command and use sed, or >> break this into tasks, the first counts and registers the line needs to be >> replaced again using shell/cmd "grep", and the second does the lineinfile >> per item using "with_sequence" and remember to add +1 to the number >> counted as sequence does not accept 0 count >> >> This was mentioned before in the list >> >> >> On 6 February 2014 23:02, Jeff Geerling <[email protected]> wrote: >> >>> I'm trying to make my lineinfile command that uses multiple lines >>> idempotent: >>> >>> - lineinfile: > >>> dest=/etc/example.conf >>> regexp='^\[test(.*)' >>> line='[test]{{ '\n' }}secondline' >>> >>> I've tried this, and the following regexp variations: >>> >>> regexp=''/^\[test(.*)/s' # trying to get it to work multiline >>> regexp='^\[test\]{{ '\n' }}secondline' # trying to use same pattern in >>> 'line' >>> >>> I've also tried a bunch of other variations, with no luck, as well as >>> adding 'insertafter=EOF'. In all cases, I ended up getting another block of >>> text each time I ran ansible-playbook. >>> >>> How can I do a lineinfile with multiple lines with idempotence? >>> >>> (Also, I can't get the line to work without wrapping newlines, tab >>> characters, etc. in a variable reference ({{ }}), though I've seen other >>> examples online where those whitespace characters must be working correctly. >>> >>> -- >>> 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 [email protected]. >>> To post to this group, send email to [email protected]. >>> >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >> >> -- > 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 [email protected]. > To post to this group, send email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > -- 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 [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
