【玩转MacBook】mdfind命令搜索

mdfind 是 macOS 上的一个命令行工具,它允许用户根据元数据来查找文件。mdfind 使用 Spotlight 索引来快速搜索文件系统中的项目。这意味着它可以非常快地找到文件,因为它不直接在磁盘上搜索,而是查询由 Spotlight 维护的索引数据库。

基本用法

要使用 mdfind 查找文件或文件夹,你可以提供一个搜索字符串,该字符串可以是文件名的一部分、内容关键字或者其他元数据属性。这里是一些基本的例子:

1、搜索文件名为 “Example” 的所有文件:

mdfind 'kMDItemFSName == "Example"*'

2、搜索文件内容包含 “specific text” 的所有文件:

mdfind 'kMDItemTextContent == "specific text"*'

3、搜索特定类型(如 PDF 文件)的所有文件:

mdfind 'kMDItemContentType == "com.adobe.pdf"'

4、搜索创建日期为今天的文件:

mdfind 'kMDItemFSContentChangeDate >= $time.today'

查询关键词

你可以通过 mdfind 的查询关键词来更精确地控制搜索条件。以下是一些常用的关键词和它们的含义:

  • kMDItemFSName: 文件系统名称,即文件名。
  • kMDItemTextContent: 文件的内容文本。
  • kMDItemContentType: 文件的统一类型标识符 (UTI)。
  • kMDItemAuthors: 文档作者。
  • kMDItemKeywords: 关键词。
  • kMDItemFSContentChangeDate: 内容更改日期。
  • kMDItemFSCreationDate: 文件创建日期。

实际例子

1、假设你想找到所有名为 “Cham” 的应用程序,你可以这样做:

mdfind 'kMDItemFSName == "Cham*.app"'

2、如果你想查找过去一周内修改过的所有 .txt 文件,你可以使用如下命令:

mdfind -onlyin ~ 'kMDItemFSName == "*.txt" && kMDItemFSCreationDate >= $time.now(-7)'

注意事项

  • mdfind 依赖于 Spotlight 索引,所以如果 Spotlight 没有索引某些位置或者索引被禁用了,那么 mdfind 将无法找到这些位置的文件。
  • 如果你想要搜索整个文件系统,包括那些可能未被 Spotlight 索引的位置,可以考虑使用 find 命令,不过它的速度会慢很多。
  • mdfind是 macOS 中提供的命令,在 Linux 中不适用。

mdfind 是一个强大的工具,适用于需要高效、基于元数据的文件搜索的情况。如果你只是想快速查找文件而不关心其元数据,也可以直接使用简单的文件名匹配:

mdfind "Cham"

这将返回所有与 “Cham” 相关的结果,无论它们是文件名、内容还是其他元数据属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值