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

如何在文件夹中递归搜索所有文件元数据中的指定关键词?

macOS递归搜索元数据含指定关键词的文件

基础实现命令

用find递归遍历文件,结合mdls和grep筛选匹配元数据的文件,输出文件名:

find /你的搜索路径 -type f -exec sh -c 'mdls "$1" | grep -qi "目标关键词" && echo "$1"' sh {} \;

命令各部分说明

  • find /你的搜索路径:指定起始搜索目录,会递归遍历所有子目录
  • -type f:仅处理普通文件,跳过目录、链接等非文件类型
  • -exec sh -c '...' sh {} \;:对每个找到的文件执行后续shell逻辑
  • mdls "$1":获取当前文件的完整元数据
  • grep -qi "目标关键词":-q静默匹配只返回结果状态,-i忽略大小写,确保匹配"John"或"john"都生效
  • && echo "$1":只有元数据匹配关键词时,才输出当前文件的完整路径

实用示例

  1. 搜索~/Documents目录下,元数据含"john"的所有文件:
find ~/Documents -type f -exec sh -c 'mdls "$1" | grep -qi "john" && echo "$1"' sh {} \;
  1. 匹配多个关键词(比如"john"或"doe"):
find ~/Documents -type f -exec sh -c 'mdls "$1" | grep -qiE "john|doe" && echo "$1"' sh {} \;
  1. 精准匹配特定元数据字段(比如仅检查作者字段kMDItemAuthors):
    避免其他字段含关键词导致误匹配,只看作者信息:
find ~/Documents -type f -exec sh -c 'mdls -name kMDItemAuthors "$1" | grep -qi "john" && echo "$1"' sh {} \;

内容的提问来源于stack exchange,提问作者user2989759

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:35:16