remplace: "{{ mon_groupe | replace('&', '\&') }}"

hi all,

I want replace all caracter " & " by " & "

  • set_fact:
    remplace: “{{ mon_groupe | replace(‘&’, ‘&’) }}”

but when i use this task it’s not work.
It’s works only i skip " \ "

Someone have an idea please !! :slight_smile:

Thank you very much !!

Regards,

hi all,

I want replace all caracter " & " by " \& "

- set_fact:
    remplace: "{{ mon_groupe | replace('&', '\&') }}"

but when i use this task it's not work.
It's works only i skip " \ "

      Try '\\&' instead

Thanks for your answer,

but why when show my variable i see :

“atime”: 1552039856.1979122,
“ctime”: 1552039856.1899123,
“dev”: 65027,
“gid”: 1003,
“gr_name”: “ansible”,
“inode”: 125043,
“isblk”: false,
“ischr”: false,
“isdir”: false,
“isfifo”: false,
“isgid”: false,
“islnk”: false,
“isreg”: true,
“issock”: false,
“isuid”: false,
“mode”: “0644”,
“mtime”: 1552039856.1899123,
“nlink”: 1,
“path”: “//home/my_user/roles/http/files/groups/my_groupe.txt”,
“pw_name”: “ansible”,
“rgrp”: true,
“roth”: true,
“rusr”: true,
“size”: 44,
“uid”: 1003,
“wgrp”: false,
“woth”: false,
“wusr”: true,
“xgrp”: false,
“xoth”: false,
“xusr”: false

My variable must content only my_groupe.txt

The task that i use is :

  • name: Liste les groupes dans mes_groupes
    find:
    paths: /{{ role_path }}/files/groups/
    register: mes_groupes
    delegate_to: localhost

  • debug:
    var: mes_groupes

Why mes_groupes no content only the file who is in my path ?

Same answer ‘\&’ not works !!

someone have an idea please why replace(‘&’, ‘&’) not works ?!!

Thank you very much

Regards,

raub@desktop:~/dev/ansible$ cat roles/test/tasks/file.yml

In a string instead of in a file:

raub@desktop:~/dev/ansible$ cat roles/test/tasks/string.yml