2016-12-07 3 views
0

Я не уверен, что то, что я желаю, возможно.Ansible Regex - включить подкаталог

Моя цель - сопоставить несколько шаблонов с регулярным выражением через Ansible, включая подкаталоги.

- name: Find directories /tmp/test/hi and /tmp/test 
    find: 
    file_type: directory 
    paths: /tmp 
    use_regex: true 
    patterns: "{{ item }}" 
    recurse: yes 
    register: foundFiles 
    with_items: 
    - ^(test) #returns value 
    - (test.hi) #returns no value 

    - debug: var=foundFiles 

Я попробовал несколько регулярных expresssions и протестировали его здесь http://regexr.com/ и здесь https://regex101.com/

анзибль не продолжает возвращаться никакого значения для/TMP/тест/привет.

Как конкретно указать/tmp/test/hi с регулярным выражением?

ответ

0

Это потому, что тест/привет не каталог, директория привет когда модуль выглядит в тест каталогов.

Чтобы устранить проблему, вам нужно использовать:

with_items: 
    - ^test 
    - ^hi 

Проблема: все имена каталогов, которые начинаются с приветом будет возвращено

+0

Да, именно так. Есть ли возможность только вернуть каталог, который я хочу? Вместо всех каталогов. – Kevin

+0

Я пробовал, и я не нашел простой способ. Возможно, вам стоит подумать о разработке нового модуля, который перегружает модуль find. –

+0

Это еще сложнее. Я создал несколько задач, чтобы обойти эту проблему. Это не красота, но получить работу. – Kevin

Смежные вопросы