U kunt de volgende commandoregelfuncties gebruiken om snel een relevant bestand te vinden en te openen. Ik vind dit makkelijker dan het typen van een lange reeks vragen in het spotlight venster.
Voeg de volgende functies toe in ~/.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}")"
}
Nu, of source ~/.bash_aliases
of open een nieuwe terminal load functies. Om te zoeken naar bestanden met woorden, taart en 2016 waar dan ook in de bestandsnaam, doe
spot pie*2016 #or
spot 2016*pie
Er is geen noodzaak om *
aan uw query voor te bereiden of toe te voegen als het zoekpatroon, '*$1*'
tagt al wild card entry aan het begin en einde van uw query. Extra cd
is voor het geval ongevoelig en het negeren van diakritische markeringen, bijvoorbeeld, fred
zal beide terugkeren, Frédéric en FrEDeric.
findpaper
zal het zoeken beperken tot resultaten onder een specifiek pad (recursief) terwijl openpaper pie*201
een (of eerste van meerdere resultaten) zoekresultaat zal openen of openpaper pie*201 3
zal derde resultaatinvoer openen. Om het openen van bash scripts of andere niet-documentaire bestanden te voorkomen, kunt u de inhoud van het bestand beperken door extra zoekattributen. Zie File Metadata Query Expression Syntax en https://ss64.com/osx/mdfind.html voor het gebruik van andere zoekoperatoren.