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] > <javascript:>>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] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> 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.
