Я використовую mdls та mdfind в скриптах для автоматизації відтворення музичних файлів. Нещодавно я помітив, що певні файли відсутні у очікуваних результатах пошуку, і я відстежив це до проблеми чутливості до справ.
Я використовую синтаксис запитів, подібний до kMDItemTitle == '*[search term]*'c
. Символ "c", що використовується в списку, використовується для пошуку нечутливого до регістру пошуку.
Інтернет-документація пропонує kMDItemTitle ==[c] '*[search term]*
як можливість, але це також не працює.
Ось кілька прикладів з мого командного рядка:
⇒ mdfind -onlyin . 'kMDItemContentTypeTree == "public.audio" && kMDItemTitle == "*Thrill*"'
./Music/Sia/Cheap Thrills (feat. Sean Paul) - Single/01 Cheap Thrills (feat. Sean Paul).m4a
./Music/Michael Jackson/Thriller [Bonus Tracks]/17 Voice-Over Session from Thriller.m4a
./Music/Michael Jackson/Thriller [Bonus Tracks]/04 Thriller.m4a
./Music/J.J. Cale/The Road to Escondido/08 Hard to Thrill.m4a
⇒ mdfind -onlyin . 'kMDItemContentTypeTree == "public.audio" && kMDItemTitle == "*thrill*"c'
⇒ mdfind -onlyin . 'kMDItemContentTypeTree == "public.audio" && kMDItemTitle == "*THRILL*"c'
⇒ mdfind -onlyin . 'kMDItemContentTypeTree == "public.audio" && kMDItemTitle ==[c] "*THRILL*"'