On 22.05.2018 14:19, Saranya N wrote:
> I want to list ONLY Filenames dev.xml and prd.xml that contain a word
> called “
vob.fi.ted.com". Im able to list all filenames dev.xml and
> prd.xml using find module but when I use contains parameter in
> playbook it doesn’t return those files although they have the string
> in their contents.
>
>
>
> - hosts: test
>
> gather_facts: false
>
> become: yes
>
> become_user: root
>
> tasks:
>
> - name: Ansible find files examples
>
> find:
>
> paths: /opt/common
>
> patterns: "dev.xml,prd.xml"
>
> contains: "
vob.fi.ted.com" -à This is not working
>
> recurse: yes
>
> register: files_to_find
contains is regex patterns, with this expression you would only find
file that only contain that string and nothing more.
To make it find files containing that string you need to have a .* on
the start and at the end.
. in regex means any character, since you mean literally . and not any
character you need to escape the . with \
so you contains should be
contains: .*vob\.fi\.ted\.com.*
--
Kai Stian Olstad