tru*_*ess 6 macos bash terminal
在终端我mdfind 'kMDItemFSLabel = 6'用来在我的Mac上找到带有红色文件标签的所有内容.但是,它似乎是用红色标签排除文件夹.我试图让它也返回文件夹,但我似乎甚至无法获得任何这些仅限文件夹的查询工作,更不用说将其添加到当前文件结果.mdfind kind:folders并且mdfind 'kMDItemFSLabel=6'独立工作但我无法弄清楚如何同时获得两者:
mdfind kind:folders AND 'kMDItemFSLabel == 6'
mdfind 'kind:folders' AND 'kMDItemFSLabel == 6'
mdfind 'kind:folders kMDItemFSLabel == 6'
mdfind kind:folders kMDItemFSLabel == 6
etc
Run Code Online (Sandbox Code Playgroud)
我得到的只是 Failed to create query for [query above]
什么是正确的语法?
一旦我做对了,我怎么说"文件夹和所有文件"?像'kind:folders + all'之类的东西?
编辑:还试过:
mdfind kind:folders && 'kMDItemFSLabel == 6' returns every folder on my computer
mdfind kind:folders && kMDItemFSLabel == 6 returns every folder on my computer
mdfind 'kind:folders' && 'kMDItemFSLabel == 6' returns every folder on my computer
mdfind 'kind:folders && kMDItemFSLabel == 6' failed to create query
Run Code Online (Sandbox Code Playgroud)
mkl*_*nt0 11
TL; 博士
使用以下与语言环境无关的命令:
mdfind 'kMDItemUserTags == Red'mdfind 'kMDItemUserTags == Red && ! kMDItemContentType == public.folder'mdfind 'kMDItemUserTags == Red && kMDItemContentType == public.folder'更简单,但特定于语言环境的等价物 - 这些仅适用于英语语言环境,必须本地化才能与其他语言环境一起使用:
mdfind 'tag:red'mdfind 'tag:red AND NOT kind:folder'mdfind 'tag:red AND kind:folder'有关背景信息,请继续阅读.
更新:事实证明,Spotlight - 因此mdfind- 说两种不同的语言:
<attribName>:<attribValkind(kMDItemKind)被明确设计为报告本地化值AND(默认),OR和NOT(请注意,这些不会被本地化).&&(默认)||,和!如果有人知道如何正确地调用这两个语言,请让我知道.
警告: 这两种语言不能混用 - 给定的查询字符串必须使用一种或另一种语法.
以下解决方案相应地标记为SL和FL.鉴于SL使用本地化名称,我建议使用SL解决方案来获得可预测的,与语言环境无关的结果,尽管它更复杂和冗长.
要查找所有文件和文件夹被标记了红色标签,使用方法:
FL:
mdfind 'kMDItemUserTags == Red'
Run Code Online (Sandbox Code Playgroud)SL(英文):
mdfind 'tag:red' # in German, `tag:red` would be `attribut:red`
Run Code Online (Sandbox Code Playgroud)要查找仅使用红色文件/文件夹标签标记的文件(而不是文件夹),请使用:
FL:
mdfind 'kMDItemUserTags == Red && ! kMDItemContentType == public.folder'
Run Code Online (Sandbox Code Playgroud)SL(英文):
mdfind 'tag:red AND NOT kind:folder' # in German, `kind:folder` would be `art:ordner`
Run Code Online (Sandbox Code Playgroud)要查找仅使用红色文件/文件夹标签标记的文件夹(而不是文件),请使用:
FL:
mdfind 'kMDItemUserTags == Red && kMDItemContentType == public.folder'
Run Code Online (Sandbox Code Playgroud)SL(英文):
mdfind 'tag:red AND kind:folder'
Run Code Online (Sandbox Code Playgroud)使用的一般提示mdfind:
+在右上角按下,以便在弹出列表的帮助下逐行创建多个AND组合标准)*.savedSearch文件(Save右上角的按钮,~/Library/Saved Searches/默认保存为),Query:字段.mdimport -A.
-onlyin <folder>选项.-attr <attribName>选项.文件:
注意:文档严重缺乏,部分不正确.截至2015年5月16日
c和d选项为需要追加到解释操作的[c]和[d],而不是在(右手边)操作,这是当你保存交互构建查询什么OSX本身并没有; 同时,至少在其他选项退出这还没有提到:w; 如果您将一个或多个选项字母附加到带引号的字符串,其含义如下c ...匹配案例 - 不敏感d ...匹配时忽略变音符号(外来字符的基本字母上方和下方的标记)w ...匹配整个单词(从我能说的)*(任何字符序列)和?(一个字符)通配符.mdimport -X并查看Types密钥的条目.总而言之,从OSX 10.10.3开始,mdfindSpotlight查询语言记录不完整,挑剔的野兽 - 审判和错误往往是你最好的朋友,遗憾的是.