Anda dapat menggunakan fungsi perintah berikut untuk menemukan dan membuka file yang relevan dengan cepat. Saya menemukan ini lebih mudah daripada mengetik string panjang query di jendela sorotan.
Tambahkan fungsi berikut di ~/.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}")"
}
Sekarang, source ~/.bash_aliases
buka atau buka fungsi terminal load baru. Untuk mencari file dengan kata-kata, pie, dan 2016 di mana saja dalam nama file, lakukan
spot pie*2016 #or
spot 2016*pie
Tidak perlu menambahkan atau menambahkan *
permintaan Anda sebagai pola pencarian, '*$1*'
sudah menandai entri kartu liar di awal dan akhir permintaan Anda. Tambahan cd
adalah untuk case sensitif dan mengabaikan tanda diakritik, misalnya, fred
akan mengembalikan keduanya, Frédéric dan FrEDeric.
findpaper
akan membatasi pencarian untuk hasil di bawah jalur tertentu (rekursif) sementara openpaper pie*201
akan membuka (atau pertama dari beberapa hasil) hasil pencarian atau openpaper pie*201 3
akan membuka entri hasil ketiga. Untuk menghindari membuka skrip bash atau file non-dokumen lainnya, Anda dapat membatasi konten file dengan atribut pencarian tambahan. Lihat Sintaks Ekspresi Kueri Metadata File dan https://ss64.com/osx/mdfind.html untuk menggunakan operator pencarian lainnya.