On 2/25/20 3:48 PM, jean-christophe manciot wrote:
> ansible 2.9.5 (pip3)
> 
> The following sed command:
> - function is to replace all '_' by '-' in all keys only (and not values) 
> within a list of dictionaries in memory
> - uses character classes which are probably not supported by regex_replace:
>   + [:blank:]: space and tab
>   + [:space:]: tab, newline, vertical tab, form feed, carriage return, and 
> space
> - a label and loop
> 
> |
> sed -E ':l; 
> s/^([[:blank:]]*(-[[:blank:]]*)?[^[:space:]:_]*)_([^[:space:]:]*:)/\1-\3/; 
> tl;'
> |
> 
> I need to use the previous sed over a yaml list of dictionaries.
> If I use a shell command (such as printf "%s\n" "{{ var }}" | sed ...), the 
> resulting structure is not yaml anymore.
> 
> I could save the var into a file, perform the function over the file and 
> reopen the resulting file into memory.
> However, I'm looking for a more efficient way, that is perform only memory 
> operation(s).
> 
> Is there a way to translate the previous sed expression into a regex_replace 
> command?
> Or maybe there is another more ansible way to perform the same function?

Start with "{{ var | from_yaml }}" and you get a Python object which can be 
traversed and manipulated.

Regards
          Racke

> 
> -- 
> 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] 
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/dfd15e15-8b8d-4601-8b11-b3a69a529fdb%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/dfd15e15-8b8d-4601-8b11-b3a69a529fdb%40googlegroups.com?utm_medium=email&utm_source=footer>.


-- 
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.

-- 
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/3e75f95f-307a-8570-40c4-d22792781144%40linuxia.de.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to