use*_*344 1 macos macos-sierra
目标是查找某个州或国家/地区的所有图像。
mdfind kind:image
Run Code Online (Sandbox Code Playgroud)
会找到所有图像
mdfind "kMDItemCountry == 'United States'"
Run Code Online (Sandbox Code Playgroud)
将找到具有此属性的所有文件。
mdfind kind:image "kMDItemCountry == 'United States'"
Run Code Online (Sandbox Code Playgroud)
失败。我尝试过使用 && 和 () 的各种分组,但无法使其工作。如何成功地将“kind:image”与 kMDIxxx 等属性搜索结合起来?
我有机会做了一些实验,了解其mdfind真正的工作原理,而不是它的记录方式——两者是不同的。
tardis.png首先,让我们看一下我的 Mac 上挂着的一个名为的文件的 Spotlight 数据。
mdls tardis.png
Run Code Online (Sandbox Code Playgroud)
输出
_kMDItemOwnerUserID = 501
kMDItemBitsPerSample = 32
kMDItemColorSpace = "RGB"
kMDItemContentCreationDate = 2017-05-31 14:15:03 +0000
kMDItemContentModificationDate = 2017-05-31 14:15:03 +0000
kMDItemContentType = "public.png"
kMDItemContentTypeTree = (
"public.png",
"public.item",
"public.png",
"public.data",
"public.image",
"public.content"
)
kMDItemCreator = "Adobe Photoshop CC 2017 (Macintosh)"
kMDItemDateAdded = 2017-05-31 14:15:23 +0000
kMDItemDisplayName = "tardis.png"
kMDItemFSContentChangeDate = 2017-05-31 14:15:23 +0000
kMDItemFSCreationDate = 2017-05-31 14:15:22 +0000
kMDItemFSCreatorCode = "8BIM"
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = "tardis.png"
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 1488497
kMDItemFSTypeCode = "PNGf"
kMDItemHasAlphaChannel = 0
kMDItemKind = "Portable Network Graphics image"
kMDItemLogicalSize = 1488497
kMDItemOrientation = 1
kMDItemPhysicalSize = 1490944
kMDItemPixelCount = 2091600
kMDItemPixelHeight = 1494
kMDItemPixelWidth = 1400
kMDItemProfileName = "sRGB IEC61966-2.1"
kMDItemResolutionHeightDPI = 72
kMDItemResolutionWidthDPI = 72
Run Code Online (Sandbox Code Playgroud)
这是匹配并列出该文件的查询:
mdfind -onlyin . "(kMDItemPixelHeight>1500 || kMDItemPixelWidth=1400)&& kMDItemKind='*image*' && kMDItemProfileName='srgb*'c"
Run Code Online (Sandbox Code Playgroud)
这展示了如何使用&&(AND) 和||(OR) 进行复合搜索、如何对括号内的条件进行分组(conditionA || conditionB)以及如何进行不区分大小写的搜索(通过c在搜索字符串后附加)。
示例:也许更多供我自己参考;-)
列出我在 Mac 上用于制作图片的所有相机和扫描仪:
mdfind -0 kind:image | xargs -0 mdls -n kMDItemAcquisitionModel | sort -u
kMDItemAcquisitionModel = "645 PRO Mk III for iOS"
kMDItemAcquisitionModel = "BlackBerry 8900"
kMDItemAcquisitionModel = "BlackBerry 9000"
kMDItemAcquisitionModel = "Canon EOS 5D Mark III"
kMDItemAcquisitionModel = "Canon EOS 5D"
kMDItemAcquisitionModel = "Canon EOS 7D Mark II"
kMDItemAcquisitionModel = "Canon EOS 7D"
kMDItemAcquisitionModel = "Canon EOS-1D Mark II N"
kMDItemAcquisitionModel = "Canon EOS-1D Mark IV"
kMDItemAcquisitionModel = "Canon EOS-1D X"
kMDItemAcquisitionModel = "Canon EOS-1DS"
kMDItemAcquisitionModel = "Canon EOS-1Ds Mark II"
kMDItemAcquisitionModel = "Canon EOS-1Ds Mark III"
kMDItemAcquisitionModel = "EOS-1Ds Mark III"
kMDItemAcquisitionModel = "EPSON Perfection 4990"
kMDItemAcquisitionModel = "NIKON D800"
kMDItemAcquisitionModel = "NIKON D800E"
kMDItemAcquisitionModel = "Perfection 4990"
kMDItemAcquisitionModel = "Perfection4990"
kMDItemAcquisitionModel = "PerfectionV700 "
kMDItemAcquisitionModel = "PerfectionV700"
kMDItemAcquisitionModel = "TANGO "
kMDItemAcquisitionModel = "TANGO"
kMDItemAcquisitionModel = "iPad mini 4"
kMDItemAcquisitionModel = "iPad mini"
kMDItemAcquisitionModel = "iPad"
kMDItemAcquisitionModel = "iPhone 3G"
kMDItemAcquisitionModel = "iPhone 3GS"
kMDItemAcquisitionModel = "iPhone 4"
kMDItemAcquisitionModel = "iPhone 4S"
kMDItemAcquisitionModel = "iPhone 5"
kMDItemAcquisitionModel = "iPhone 5s"
kMDItemAcquisitionModel = "iPhone 6"
kMDItemAcquisitionModel = "iPhone 6s"
kMDItemAcquisitionModel = "iPhone SE"
kMDItemAcquisitionModel = "iPhone"
Run Code Online (Sandbox Code Playgroud)
查找用 iPhone 6 拍摄的所有照片:
mdfind "kMDItemAcquisitionModel='*iPhone*6*'"
Run Code Online (Sandbox Code Playgroud)
注意事项:
手册页说-onlyin将搜索范围限制为指定目录。这实际上并不正确,因为它也会递归到包含的目录中。
在比较中使用单等号 ( =) 还是双等号 ( )似乎没有什么区别。==
文档说您可以用于string==[c]"pattern"不区分大小写的搜索,这是不正确的,我上面显示的语法至少在 macOS Sierra 上有效。
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |