5 votos

¿Búsqueda de Spotlight por ruta completa?

Al realizar una búsqueda en Spotlight, ya sea a través del Finder o mediante comandos de terminal, ¿es posible filtrar los resultados en función de la ruta completa de un archivo, o al menos del nombre de su carpeta principal?

La razón por la que necesito poder filtrar por la ruta completa es que, aunque estoy buscando archivos reales, sólo quiero devolver los archivos que se encuentran dentro de las carpetas que coinciden con un patrón determinado.

Por ejemplo, considere que tengo un montón de archivos estructurados así:

Jobs
    Foo Poster
        Preview.jpg
        Final.psd
    Bar Poster
        Preview.png
        Final.psd
    Foo Banner
        Preview.jpg
        Final.psd

Este es un ejemplo un poco artificial para simplificar, pero considere ahora que quiero encontrar todas las imágenes de vista previa que se encuentran sólo dentro de las carpetas con "Poster" en el nombre.

Podría hacer esto con find usando algo como:

 find /path/to/Jobs -ipath *poster/preview*

Sin embargo, lo que realmente me gustaría es una manera de hacer esto usando Spotlight, no sólo por la velocidad sino también por las opciones de búsqueda adicionales disponibles (etiquetas, tamaños de imágenes, etc.).

¿Es posible hacer esto? Sé que puedo restringir las búsquedas a una sola carpeta, pero esto no sirve de nada ya que lo que realmente necesito es encontrar carpetas que coincidan con un patrón, y luego buscar dentro de ellas los archivos reales.

Encontré la opción de Contenedor de Documentos en la GUI de búsqueda del Finder, pero no parece funcionar como esperaba; parece que debería permitirme comparar con una carpeta padre de un documento, pero no parece ser el caso.

Asumiendo que esto no es posible con la GUI del Finder directamente (es decir, requiere un comando de terminal de Spotlight), me gustaría idealmente poder crear una carpeta inteligente si es posible.

4voto

Pierre Bernard Puntos 406

Esto no es posible sólo con Spotlight. Spotlight no indexa la ruta del archivo como una propiedad del mismo. Por lo tanto, no es posible utilizar la ruta como criterio de búsqueda.

Puedes utilizar mdfind en la línea de comandos para buscar en el índice de Spotlight. Con el parámetro -onlyin puedes apuntar a la parte superior de tu jerarquía de carpetas. Puedes filtrar los resultados obtenidos utilizando grep.

mdfind -onlyin ~/Downloads/ 'kMDItemContentTypeTree == "public.image"cd' | grep '.*/test.*/.*'

Si necesita ayuda para construir la consulta para mdfind, eche un vistazo a HoudahSpot . Allí puedes establecer tus criterios de búsqueda. A continuación, vaya a Window > Raw Query para encontrar la cadena de consulta de Spotlight que puede utilizar con mdfind.

En HoudahSpot también puedes utilizar su capacidad para filtrar los resultados de la búsqueda. Encima de los resultados de búsqueda encontrarás un campo de búsqueda que permite filtrar/excluir por nombre/ruta. Aquí puedes utilizar el asterisco como comodín.

Revelación completa: soy el desarrollador de HoudahSpot.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X