У меня есть структура каталогов, как показано ниже, я хочу получить определенные файлы подкаталога, используя ansible, а не все.
/mnt/server1 ->
----> yyy.deb
----> /mnt/server1/All/tttsss.deb
----> /mnt/server1/HS-CLONE/gggg.deb
----> /mnt/server1/HS-TEST/kkkk.deb
Мне нужно только найти .deb
файлы присутствуют в /mnt/server1/All/tttsss.deb
и /mnt/server1/HS-CLONE/gggg.deb
каталоги. Мне не нужны все остальные файлы.
Когда я пытаюсь использовать приведенную ниже логику, файл родительского каталога yyy.deb
также идет как выход.
- name: Ansible find files in subdirectory examples
find:
paths: /mnt/server1
file_type: file
recurse: yes
use_regex: yes
patterns:
- 'All'
- "HS-CLONE"
- '.*deb$'
register: files_matched_subdirectory
С вышеуказанным логическим выходом как:
Вывод: (Не использовать опцию исключения в Playbook)
yyy.deb -> This file name may vary.
/mnt/server1/All/tttsss.deb
/mnt/server1/HS-CLONE/gggg.deb
Ожидаемый результат должен быть: (за исключением общего шаблона для решения моей проблемы)
/mnt/server1/All/tttsss.deb
/mnt/server1/HS-CLONE/gggg.deb
Вы должны указать желаемые пути явно. Если ты не хочешь искать путь /mnt/server1
, но только определенные подкаталоги, перечислите их.
- name: Ansible find files in subdirectory examples
find:
paths:
- /mnt/server1/All
- /mnt/server1/HS-CLONE
file_type: file
recurse: yes
use_regex: yes
patterns:
- '.*deb$'