¿Está rota la comparación entre mayúsculas y minúsculas para mdfind?

1

Uso mdls y mdfind dentro de scripts para automatizar la reproducción de archivos de música. Recientemente, he notado que faltan algunos archivos de los resultados de búsqueda esperados y los he rastreado hasta un problema de sensibilidad del caso.

Estoy usando una sintaxis de consulta similar a kMDItemTitle == '*[search term]*'c . El carácter 'c' al final se usa para proporcionar una búsqueda que no distingue mayúsculas y minúsculas

Documentación en línea ofrece kMDItemTitle ==[c] '*[search term]* como una posibilidad , pero eso tampoco funciona.

Aquí hay algunos ejemplos de mi línea de comando:

⇒ 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*"'
    
pregunta jmhindle 05.12.2016 - 19:24

1 respuesta

1

Está funcionando para mí (Sierra). Específicamente, el formulario que está acostumbrado a trabajar:

$ mdfind -onlyin . 'kMDItemContentTypeTree == "public.audio" && kMDItemTitle == "*ciao*"'c
...[non-album tracks]/Bella ciao.mp3
...Unreleased/Bella Ciao.mp3

No tuve suerte con la otra forma ( ... "==[c] ... " ). Los documentos a los que se vinculó eran de 2011; Encontré referencias de 2014 que usan el formulario "su", ¡así que parece que los documentos en línea son viejos y están equivocados! Desafortunadamente, esto sugiere que hay algo mal con su sistema, más bien que con sus consultas. Lo siento, no estoy seguro de cuál sería el siguiente paso.

    
respondido por el John N 05.12.2016 - 21:15

Lea otras preguntas en las etiquetas