Carpeta inteligente Excluir carpeta
En última instancia, quiero que el resultado de este comando find sea una carpeta inteligente.
Los criterios no son tan complicados:
- el nombre debe ser "README.md"
- tipo debe ser archivo
- la ruta no debe contener "node_modules"
find /Users/me/Documents -type f -name README.md -not -path "*/node_modules/*"
El problema es que la lista de operadores de criterios de carpetas inteligentes parece carecer de una does not contain
opción.
Las opciones disponibles son:
- partidos
- contiene
- empieza con
- termina con
- es
- no es
¿Es posible lograr esto? De ser así, ¿cómo?
Editar 1
Descubrí que al mantener presionada la tecla de opción puedo agregar una cláusula de negación a los criterios de búsqueda de la carpeta inteligente, pero parece que no puedo excluir con éxito la carpeta node_modules. No está claro qué criterios usar, pero ninguno de los que he intentado parece funcionar:
- Contenedor de documentos
- Conteniendo nombres de carpetas
- Nombre de la carpeta
He intentado combinar estos con los siguientes operadores:
- contiene
- partidos
y con los siguientes términos:
- nodo_módulos
- nodo_módulos
en caso de que admita búsquedas con comodines.
He intentado todas las combinaciones de los filtros, operadores y términos anteriores.
La documentación es muy pobre sobre el tema.
fuente
Respuestas:
Parece que kMDItemPath no puede hacer lo que necesita:
no-results-in-spotlight-in-búsquedas-contra-kmditempath
Algunas posibles alternativas se discuten aquí:
cómo-localizar-un-archivo-en-spotlight-using-folder-and-file-name
fuente
Hay una solución alternativa, pero no es muy bonita. Sin embargo, servirá a sus propósitos si solo desea acceder a sus README en una carpeta (utilizando los criterios que ha especificado) y tener alguna noción de dónde provienen.
La idea es usar su script de shell para encontrar los archivos correctos y luego recopilar alias para cada archivo en un directorio. Luego cambiamos el nombre de los alias para decirnos a qué directorio padre pertenece el archivo original.
El Applescript para hacer esto está abajo. Aquí se ve feo, pero intente pegarlo en el Editor de scripts y compilarlo, y debería poder ver la lógica.
fuente