Puede usar las siguientes funciones de línea de comandos para buscar y abrir rápidamente archivos relevantes. Esto me resulta más fácil que escribir una larga cadena de consulta en la ventana de Spotlight.
Agregue las siguientes funciones en ~/.bash_aliases
.
# find any item matching search query in file name
spot(){
mdfind "kMDItemDisplayName=='*$1*'cd";
}
# restrict to files under (recursive) a specific path
findpaper(){
mdfind -onlyin "/Users/foo/articles" "kMDItemDisplayName=='*$1*'cd";
}
# default to open the first entry unless 2nd positional argument is given
openpaper(){
FILEID=$(printf "%sp" ${2:-1})
open "$(mdfind -name -onlyin "/Users/foo/articles" "kMDItemDisplayName=='*$1*'cd" | sed -n "${FILEID}")"
}
Ahora, source ~/.bash_aliases
abre o abre una nueva función de carga de terminal. Para buscar archivos con palabras, pie y 2016 en cualquier parte del nombre del archivo, haga
spot pie*2016 #or
spot 2016*pie
No hay necesidad de anteponer o agregar *
a su consulta como patrón de búsqueda, '*$1*'
ya etiqueta la entrada de comodín al comienzo y al final de su consulta. Adicional cd
es para mayúsculas y minúsculas e ignorar los signos diacríticos, por ejemplo, fred
devolverá ambos, Frédéric y FrEDeric.
findpaper
restringirá la búsqueda a los resultados bajo una ruta específica (recursiva) mientras openpaper pie*201
abrirá un resultado de búsqueda (o el primero de varios resultados) o openpaper pie*201 3
abrirá la entrada del tercer resultado. Para evitar abrir scripts de bash u otros archivos que no sean documentos, puede restringir el contenido del archivo mediante atributos de búsqueda adicionales. Consulte Sintaxis de expresión de consulta de metadatos de archivo y https://ss64.com/osx/mdfind.html para usar otros operadores de búsqueda.