Pode utilizar as seguintes funções de linha de comando para encontrar e abrir rapidamente o ficheiro relevante. Acho isto mais fácil do que escrever uma longa sequência de consultas na janela de holofotes.
Adicionar as seguintes funções em ~/.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}")"
}
Agora, ou source ~/.bash_aliases
ou abrir uma nova função de carga de terminal. Para procurar ficheiros com palavras, tarte e 2016 em qualquer parte do nome do ficheiro, faça
spot pie*2016 #or
spot 2016*pie
Não há necessidade de pré-pender ou anexar *
à sua consulta como o padrão de pesquisa, '*$1*'
já marca a entrada wild card no início e no fim da sua consulta. Os cd
adicionais fred
são para casos insensíveis e ignoram marcas diacríticas, por exemplo, findpaper
irá devolver ambos, Frédéric e FrEDeric.
openpaper pie*201
irá restringir a pesquisa a resultados sob um caminho específico (recursivo) enquanto openpaper pie*201 3
irá abrir um (ou primeiro de vários resultados) resultado de pesquisa ou &007 irá abrir uma terceira entrada de resultado. Para evitar a abertura de scripts de bash ou outros ficheiros não documentados, pode restringir o conteúdo do ficheiro através de atributos de pesquisa adicionais. Veja Sintaxe de Expressão da Consulta de Metadados de Ficheiros e https://ss64.com/osx/mdfind.html para utilizar outros operadores de pesquisa.