欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Mac macos 中用mdfind命令快速查找文件 mdfind 代替 类似于 linux 的 locate 有大用 有大大用 有大大大用

当然 mac 也可以使用 locate 命令


MD查找

热点搜索。

句法
      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种类: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 )指定属性中从minValuemaxValue范围内的数值。

构建查询时空格很重要,使用括号()创建组。
值字符串中的“和'等字符应使用 \ 字符进行转义

值比较修饰符

修改器描述
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 



Mac中用mdfind命令快速查找文件

image.png

如题图,用法比较简单。

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


普通分类: