brilliant. thank you very much. finally seem to be making sense of regular 
expressions some what but still have a long way to go


Thanks again.

On Thursday, 13 December 2018 17:24:29 UTC, Dick Visser wrote:
>
> On Thu, 13 Dec 2018 at 17:42, danish09 <[email protected] 
> <javascript:>> wrote: 
> > 
> > amazing. thanks a lot. tried it just now and it did the magic. However, 
> tried to give it a little thought. I am assuming 1 is for the expression 
> with in the first bracket (). But since it is an OR '|', how does it know 
> which word needs to be replaced with what and in which line. I mean could 
> it not be possible that the words are replaced as privkey3.pem in the first 
> line and cert3.pem in the second line., the other way round. 
>
> No. The pipe (OR) means it can match cert.cruk.org.something or 
> privkey.cruk.org.something. 
> Because of the parentheses around it, it can be used later on in the 
> replacement, this is called backreferencing. 
> And because it's the first match, it will normally be referenced in 
> the replacement string by '\1'. 
> However, because you need a number directly after that, this would 
> mean '\13` - which is interpreted as the 13th match and will fail. 
> We therefore have to use a numbered group to reference it, which is the 
> '\g<1>'. 
> The second pair of parentheses also has an OR, meaning that the 
> extension can either be 'key.pem', or just 'crt'. 
> Your example doesn't require using that in the replacement later on, 
> so there is no '\2' or anything. 
>
> Dick 
>
>
> > 
> > Hope I am clear 
> > 
> > Thanks 
> > 
> > Danish 
> > On Thursday, 13 December 2018 11:43:42 UTC, Dick Visser wrote: 
> >> 
> >> This should do it: 
> >> 
> >>     - name: backup conf file and search and replace regex 
> >>       replace: 
> >>         path: /etc/nginx/sites-available/cruk-eb 
> >>         regexp: '(privkey|cert)\.cruk\.org\.(key\.pem|crt)' 
> >>         replace: '\g<1>3.pem' 
> >>         backup: yes 
> >> 
> >> Dick 
> >> 
> >> On Thu, 13 Dec 2018 at 11:23, danish09 <[email protected]> wrote: 
> >> > 
> >> > Hey there, 
> >> > 
> >> > I am using ansible 2.6.4. In on the projects I was working on, I had 
> to search for 2 different words in the same file and replace them as 
> necessary. Used replace module 2 times for this. Below is the playbook that 
> I have used. 
> >> > 
> >> >     - name: backup conf file and search and replace regex 
> >> >       replace: 
> >> >         path: /etc/nginx/sites-available/cruk-eb 
> >> >         regexp: 'cert\.cruk\.org\.crt' 
> >> >         replace: 'cert3.pem' 
> >> >         backup: yes 
> >> > 
> >> >     - name: backup conf file and search and replace regex again 
> >> >       replace: 
> >> >         path: /etc/nginx/sites-available/cruk-eb 
> >> >         regexp: 'privkey\.cruk\.org\.key\.pem' 
> >> >         replace: 'privkey3.pem' 
> >> >         backup: yes 
> >> > 
> >> > 
> >> > Is there a way that I can search and replace 2 words in one task/play 
> >> > 
> >> > 
> >> > Pleas let me know if there is any other information that you need. 
> And apologies if I have missed out anything. 
> >> > 
> >> > 
> >> > Thanks 
> >> > 
> >> > Danish. 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > 
> >> > -- 
> >> > 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]. 
> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/157209d1-ad23-4f62-ab98-bf5a373227da%40googlegroups.com.
>  
>
> >> > For more options, visit https://groups.google.com/d/optout. 
> >> 
> >> 
> >> 
> >> -- 
> >> Dick Visser 
> >> Trust & Identity Service Operations Manager 
> >> GÉANT 
> > 
> > -- 
> > 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:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/0db22ad8-6dae-4442-b033-d77b7ef7abdb%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>
>
>
> -- 
> Dick Visser 
> Trust & Identity Service Operations Manager 
> GÉANT 
>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/eb74b12a-ae7d-44b9-83e2-694ea6764051%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to