Al realizar una búsqueda de Spotlight, ya sea a través del Finder o mediante comandos de terminal, ¿es posible filtrar los resultados con la ruta completa de un archivo, o al menos el 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, solo quiero devolver los archivos que se encuentran dentro de las carpetas que coinciden con un patrón particular.
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 solo dentro de las carpetas con "Póster" en el nombre.
Podría hacer esto find
usando algo como:
find /path/to/Jobs -ipath *poster/preview*
Sin embargo, lo que realmente me gustaría es una forma de hacer esto usando Spotlight, no solo por la velocidad sino también por las opciones de búsqueda adicionales disponibles (etiquetas, tamaños de imagen, 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 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 principal de un documento, pero este no parece ser el caso.
Suponiendo que esto no sea posible con la GUI del Finder directamente (es decir, requiere un comando de terminal de Spotlight), idealmente me gustaría poder crear una carpeta inteligente si es posible.
Esto no es posible solo con Spotlight. Spotlight no indexa la ruta del archivo como una propiedad del archivo. Por lo tanto, no es posible utilizar la ruta como criterio de búsqueda.
Puede usar mdfind en la línea de comandos para buscar en el índice de Spotlight. Con el parámetro -onlyin puede señalarlo en la parte superior de la jerarquía de carpetas. Puede filtrar los resultados devueltos usando grep.
mdfind -onlyin ~/Downloads/ 'kMDItemContentTypeTree == "public.image"cd' | grep '.*/test.*/.*'
Si necesita ayuda para crear la consulta para mdfind, eche un vistazo a HoudahSpot . Allí puede configurar sus criterios de búsqueda. Luego vaya a Ventana > Consulta sin procesar para encontrar la cadena de consulta de Spotlight que puede usar con mdfind.
Mientras esté en HoudahSpot, también puede usar su capacidad para filtrar los resultados de búsqueda. Encima de los resultados de búsqueda, encontrará un campo de búsqueda que permite filtrar/excluir por nombre/ruta. Aquí puede utilizar el asterisco como comodín.
Divulgación completa: soy el desarrollador de HoudahSpot.
Haravikk
Lobo Plateado
Pedro Bernardo
porg
Pedro Bernardo