Thankyou, I tried the above playbook, there is no syntax error but it is 
not changing anything.

On Tuesday, October 31, 2023 at 8:35:32 PM UTC-7 Todd Lewis wrote:

> Something like this, perhaps:
>
>     - name: Do the a.b.replace thing
>       ansible.builtin.replace:
>         path: narmada-0.txt
>         regexp: '^log_format +main +[^;]+;\n'
>         replace: 'log_format main {{ bits | map("quote") | join("\n     ") 
> }};\n'
>       vars:
>         bits:
>           - '$remote_addr - $remote_user [$time_local] "$request" '
>           - '$status $body_bytes_sent "$http_referer" '
>           - '"$http_user_agent" "$http_x_forwarded_for"'
>           - '$request_time '
>           - '$upstream_response_time '
>           - '$upstream_connect_time'
>           - '$upstream_header_time'
>
>
>
> On 10/31/23 6:12 PM, Narmada Karthika wrote:
>
> Hello, 
> I am trying to update nginx file, I need to add 4 more lines before the  
> ;  I tried blockinfile, lineinfile, replace and sed but I am unable to get 
> the required output
> ex: the below one is some part of my nginx file, 
> log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
>                                                                   '$status 
> $body_bytes_sent "$http_referer" '
>                                                                   
> '"$http_user_agent" "$http_x_forwarded_for"';
>
>
> I need to add   *'$request_time ' '$upstream_response_time ' 
> '$upstream_connect_time' '$upstream_header_time'    to the existing line  
>  before the ;  *
> *blockinfile is somewhat worked but the nginx file end up having ; after  
>  * '"$http_user_agent" "$http_x_forwarded_for"'
> my desired output is 
> log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
>                                                                   '$status 
> $body_bytes_sent "$http_referer" '
>                                                                   
> '"$http_user_agent" "$http_x_forwarded_for"'  *'$request_time ' 
> '$upstream_response_time ' '$upstream_connect_time' 
> '$upstream_header_time' *;
>
> someone please help me with a solution, I have lot of servers across 
> multiple environments which cannot be done manually.
>
> -- 
> 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 view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/d00e73ae-965d-4a24-9843-8cc37b06010fn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/ansible-project/d00e73ae-965d-4a24-9843-8cc37b06010fn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
> -- 
> Todd
>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/e80cfd8b-6342-4f84-a0fe-08175e35d62dn%40googlegroups.com.

Reply via email to