You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Ansible Playbook查找所有者名称以a开头的文件

Ansible Playbook 调整方案

你现有代码存在两个问题:一是YAML缩进不规范,二是没有添加所有者过滤逻辑,调整后可实现筛选指定目录下所有者以a开头的文件,完整示例如下:

- name: 扫描/tmp目录下的所有文件
  find:
    paths: "/tmp"
    # 若不需要按6天ctime过滤可删除以下两个参数
    age: "6d"
    age_stamp: ctime
    file_type: any
    patterns: "*"
    # 若需要递归扫描子目录可改为yes
    recurse: no
  register: scan_output

- name: 输出所有者以a开头的文件路径
  debug:
    msg: "匹配文件:{{ item.path }}"
  loop: "{{ scan_output.files }}"
  # 核心过滤逻辑:匹配所有者名称以a开头的文件
  when: item.pw_name is match('^a.*')

调整说明

  • 修正了原代码YAML缩进错误,避免执行时报语法问题
  • find模块返回的每个文件条目都包含pw_name字段,对应文件所有者的用户名,通过Jinja2的match过滤器搭配正则^a.*即可筛选出所有者名称以a开头的文件
  • 若需要匹配不区分大小写的a(同时匹配大写A开头的所有者),可把过滤条件改为item.pw_name is match('^a.*', ignorecase=True)

内容的提问来源于stack exchange,提问作者Andrés

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 11:06:03