欢迎各位兄弟 发布技术文章
这里的技术是共享的
热点搜索。
句法 mdfind [-live] [-count] [-only in directory ]查询 钥匙 query 字符串或查询表达式。 -0 在每个结果路径后打印一个 ASCII NUL 字符。 这在与 xargs -0 结合使用时很有用。 -live 使 mdfind 命令向 匹配查询的文件数。当更新导致 查询结果改变匹配次数被更新。 可以通过键入 ctrl-C 取消查找。 -count 输出匹配总数,而不是路径 到匹配项。 -onlyin dir -仅在目录中 将搜索范围限制为指定的目录。 -literal 强制将提供的查询字符串作为文字 查询字符串,无需解释。 -interpret 强制将提供的查询字符串解释为 用户在 Spotlight 菜单中输入了字符串。 例如,字符串“search”将产生以下内容 请求参数: (* = 搜索* cdw || kMDItemTextContent = 搜索* cdw)
这些可以包含在查询表达式中以限制返回的文档类型:
应用 种类:应用程序,种类:应用程序,种类:应用程序 音频/音乐 种类:音频,种类:音乐 书签 种类:书签,种类:书签 联系人 种类:联系人,种类:联系人 电子邮件 种类:电子邮件,种类:电子邮件,种类:邮件消息,种类:邮件消息 文件夹 种类:文件夹,种类:文件夹 字体 种类:字体,种类:字体 iCal 活动 种类:事件,种类:事件 iCal 待办事项 种类:待办事项,种类:待办事项,种类:待办事项,种类:待办事项 图片 种类:图片,种类:图片 电影 种类:电影,种类:电影 种类:pdf,种类:pdfs 优先 种类:系统首选项,种类:首选项 简报 种类:演示文稿,种类:演示文稿
这些可以包含在查询表达式中以限制返回文档的年龄:
日期:今天 $time.today()
日期:昨天 .yesterday()
日期:本周 .this_week()
日期:这个月 .this_month()
日期:今年 .this_year()
日期:明天 .tomorrow()
日期:下一个月 .next_month()
日期:下周 .next_week()
日期:下一年 .next_year()
默认情况下,mdfind 会将查询字符串的元素与在一起。
| (OR) 要返回与任一单词匹配的项目,请使用管道字符:stringA|stringB
- (NOT) 要排除与字符串匹配的文档 -string =
“ equal”
== “equal”
!= “not equal”
< and > “小于”或“大于”
<= 和>= “小于或等于”或“大于或等于”
InRange( attributeName , minValue , maxValue )指定属性中从minValue到maxValue范围内的数值。
构建查询时空格很重要,使用括号()创建组。
值字符串中的“和'等字符应使用 \ 字符进行转义
修改器 描述 C 比较不区分大小写。 d 比较对变音符号不敏感。 kMDItemAuthors ==[c] “史蒂夫”
要获取可用于构建查询的属性列表,请参阅 mdimport(1),尤其是 -X 开关。并非所有文件都被 Spotlight 索引,并且并非所有文件属性都存在于所有文件中,图像文件、iCal 文件和音乐文件都支持不同的属性。
返回具有与字符串“image”匹配的任何元数据属性值的所有文件:
$ mdfind image $ mdfind 图片
返回 kMDItemAuthor 元数据属性中包含“Len Deighton”的所有文件:
$ mdfind "kMDItemAuthor = '*Len Deighton*'"
返回具有与字符串“skateboard”匹配的任何元数据属性值的所有文件。查找在收集初始结果后继续运行,提供与查询匹配的文件数的计数。
$ mdfind -live skateboard $ mdfind -live 滑板
返回所有 Microsoft.Word 文档文件:
$ mdfind "kMDItemContentType = 'com.microsoft.word.doc'"
返回作曲家名称包含“Eno”的文件(非区分大小写的搜索):
$ mdfind 'kMDItemComposer = "*ENO*"c'
返回匹配单词“maude”和“paris”的所有图像文件:
$ mdfind "kind:images maude paris"
返回文件名为“readme.txt”的所有文件:
$ mdfind -name readme.txt $ mdfind -name 自述文件.txt
计算文件名为“readme.txt”的文件数:
$ mdfind -name readme.txt -count
返回所有标记为“绿色”的文件:
$ mdfind "kMDItemUserTags = Green" $ mdfind "kMDItemUserTags = 绿色"
返回使用任何版本的 Pixelmator 创建的所有文档:
$ mdfind "kMDItemCreator = Pixelmator*"
返回昨天最后编辑的所有图像文件:
$ mdfind "kind:image date:yesterday" $ mdfind “种类:图像日期:昨天”
返回最近 3 天内修改过的用户主文件夹 (~) 中的所有文件:
$ mdfind -onlyin ~ 'kMDItemFSContentChangeDate >= $time.today(-3)' $ mdfind -onlyin ~ 'kMDItemFSContentChangeDate >= $time.today(-3)'
返回所有 32 位应用程序文件(使用 macOS Catalina,Apple 不再支持 32 位应用程序):
$ mdfind "kMDItemExecutableArchitectures == 'i386' && kMDItemExecutableArchitectures != 'x86_64' && kMDItemKind == 'Application'"
来自 https://ss64.com/osx/mdfind.html
如题图,用法比较简单。
mdfind命令是Spotlight的终端界面,所以如果Spotlight被禁用的话,mdfind命令也会无法使用。
mdfind命令查找文件比Spotlight还要快,其基本用法如下:
mdfind -name 文件名字
例如,如果要查找文件名中包含文字“自媒体”的文件:
mdfind -name “自媒体”
瞬间就会出现搜索结果。可以复制搜索结果中的路径,然后打开Finder窗口,Shift+command+G,粘贴到“前往文件夹”,这样就可以快速在Finder窗口中找到文件了。
如果要查找包含某些文本的文件,则可以:
mdfind "John"
这样就会查找所有包含John的文件。
mdfind命令还可以通过-onlyin参数搜索特定文件夹的内容,比如
mdfind -onlyin ~/Library txt
这条命令可以搜索Library文件夹中所有txt文件。
如果喜欢我的文章,请关注并点个赞吧。另外,有几堂好课等着你——
来自 https://zhuanlan.zhihu.com/p/86138761