ansible find (-or linux) 用于设置深度的目录

ansible find (-or linux) for directories with set depth

我正在尝试使用内置的 Ansible find 创建类似于

的东西
find /home/user/data -maxdepth 2 -type d -name 'mul' -or -name 'sqr'

其中 /home/user/data 有文件夹 abc...并且每个文件夹中可能是 none/one/both 个 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,得到一个列表 abc,然后遍历这些以找到 mulsqr 但如果列表变长,这会花费不必要的时间。

正如 Vladimir 所说,设置 recurse: yes 可以解决问题。 我仍然想知道,为什么在设置 depth: 2 时,不暗示 recurse: yes 。 这是完整的例子:

   - name: find fields
      find:
        depth: 2
        paths: "/home/user/data"
        file_type: directory
        recurse: yes
        patterns:
          - 'mul'
          - 'sqr'
      register: fields
  - name: debug1
      debug:
        msg: " myitem: {{ item }}"
      loop: "{{ fields.files | map(attribute='path') }}"