読者です 読者をやめる 読者になる 読者になる

大文字/小文字の区別なし case insensitive で mdfind

そして今更ながらに、mdfind で大文字/小文字を区別せずに検索をする方法が、やっぱり、存在することを知った。
のでのメモ。

条件式それぞれのすぐ後ろに、修飾子 modifer である 'c' を置く。

具体的な例を示すと。;

mdfind -onlyin '/opt/homebrew-cask/Caskroom/' 'kMDItemContentTypeTree == "com.apple.application" && kMDItemFSName == "gimp.app"c'

query の kMDItemFSName == "gimp.app"c の右辺の後ろについている 'c'。
GIMP.app であれ、Gimp.app、はたまた Gimp.App であれ引っ張ってきてくれる、と。

文字列スタイルにあるメタデータ属性 metadata attribute でヒットさせようとすると、英字大/小文字を区別 case seneitive をデフォとしているらしい。これには度々面食らっていたので。*1

apple 自身のドキュメントでは、条件式の比較演算子の直後にブラケット囲む、とあったりします。

Search modifiers should immediately follow the comparison operator and be surrounded by square brackets […].

こんな感じで、;

kMDItemTextContent ==[c] "Paris"

ところが。

これだと、当エントリを書いている時点、動作しないような。
何故かはわかりません。

さらには、上述の方法 kMDItemFSName == "gimp.app"c についての記述はなく。
いや、自分が見つけられていないだけ、とも。

おしまひ。

*1:このストレスに対し、ゆとり情弱な自分は苦々しく揚々と find コマンドを併用したりするわけですwww ...