Bạn có thể sử dụng các chức năng dòng lệnh sau để nhanh chóng tìm và mở tệp có liên quan. Tôi thấy điều này dễ hơn là gõ chuỗi truy vấn dài trong cửa sổ spotlight.
Thêm các chức năng sau vào ~/.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}")"
}
Bây giờ, source ~/.bash_aliases
hoặc mở một chức năng tải thiết bị đầu cuối mới. Để tìm kiếm các tệp có từ, bánh và 2016 ở bất cứ đâu trong tên tệp, hãy làm
spot pie*2016 #or
spot 2016*pie
Không cần phải thêm hoặc thêm *
vào truy vấn của bạn dưới dạng mẫu tìm kiếm, '*$1*'
đã gắn thẻ mục nhập thẻ hoang dã ở đầu và cuối truy vấn của bạn. Bổ sung cd
là cho trường hợp không nhạy cảm và bỏ qua dấu phụ, ví dụ, fred
sẽ trả lại cả hai, Frédéric và FrEDeric.
findpaper
sẽ hạn chế tìm kiếm kết quả theo một đường dẫn cụ thể (đệ quy) trong khi openpaper pie*201
sẽ mở kết quả tìm kiếm (hoặc đầu tiên trong nhiều kết quả) hoặc openpaper pie*201 3
sẽ mở mục kết quả thứ ba. Để tránh mở tập lệnh bash hoặc các tệp không phải tài liệu khác, bạn có thể hạn chế nội dung tệp bằng các thuộc tính tìm kiếm bổ sung. Xem Cú pháp biểu thức truy vấn siêu dữ liệu tệp và https://ss64.com/osx/mdfind.html để sử dụng các toán tử tìm kiếm khác.