Puede utilizar las siguientes funciones de la línea de comandos para encontrar y abrir rápidamente el archivo correspondiente. Me parece más fácil que escribir una larga cadena de consulta en la ventana de los focos.
Añade 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, o bien source ~/.bash_aliases
o abre una nueva terminal de funciones de carga. Para buscar archivos con palabras, pastel y 2016 en cualquier parte del nombre del archivo, haga
spot pie*2016 #or
spot 2016*pie
No hay necesidad de anexar o añadir *
a su consulta como patrón de búsqueda, '*$1*'
ya etiqueta la entrada de comodín al principio y al final de su consulta. El cd
adicional es para las mayúsculas y minúsculas e ignora las marcas diacríticas, 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 que openpaper pie*201
abrirá un resultado de búsqueda (o el primero de múltiples resultados) o openpaper pie*201 3
abrirá la tercera entrada de resultados. Para evitar que se abran scripts bash u otros archivos no documentales, puede restringir el contenido del archivo mediante atributos de búsqueda adicionales. Consulte Sintaxis de expresión de consulta de metadatos de archivos y https://ss64.com/osx/mdfind.html para utilizar otros operadores de búsqueda.