【发布时间】:2021-12-13 02:55:17
【问题描述】:
我正在尝试使用 Ansible find 内置函数来创建类似于
find /home/user/data -maxdepth 2 -type d -name 'mul' -or -name 'sqr'
其中/home/user/data 有文件夹a,b,c... 并且每个文件夹都可以是mul- 或sqr-目录中的一个/一个/两个。
它适用于那个 Linux 查询和我尝试过的 Ansible
- name: find fields
find:
depth: 2
paths: "/home/user/data"
file_type: directory
patterns:
- 'mul'
- 'sqr'
register: fields
- name: debug1
debug:
msg: " myitem: {{ item }}"
loop: "{{ fields.files | map(attribute='path') }}"
但我的调试输出是空的。
我可以删除patterns 并设置depth: 1,从而生成一个列表a、b、c,然后遍历这些列表以找到mul 和sqr,但如果这些列表需要花费不必要的时间变长。
【问题讨论】:
-
设置
recurse: yes。这是nodefault。