Ho appena creato e caricato un GitHub Gist GitHub Gist che potrebbe aiutarti.
La funzionalità principale è:
function get_apps_folder () {
mdfind -0 -onlyin / \
'kMDItemKind=="Application" && kMDItemDisplayName="'"${1:-TextEdit}"'"' \
| xargs -0 -I{} dirname {}
}
function open_apps_folder () {
open $(get_apps_folder "$1")
}
Potresti prenderlo e aggiungere le due funzioni al tuo ~/.bash_profile
e sarebbero disponibili per tutte le sessioni di shell interattive che stai utilizzando. (E sì, spostarsi tra virgolette singole e doppie misti e incorporati può essere complicato.): -)
Ma per dare una spiegazione migliore, la parte principale è:
mdfind -0 -onlyin / 'kMDItemKind=="Application" && kMDItemDisplayName="VMware Fusion"' | xargs -0 -I{} open {}
Il -onlyin /path
limita la ricerca al solo volume di root, altrimenti molto probabilmente verrà cercato anche qualsiasi volume di "Spotlight ricercabile", incluso Time Machine, che può diventare ingombrante e / o prolisso, quindi usare -onlyin /
.
Nel Gist, ogni riga prodotta da mdfind
viene inviata a xargs
che chiama open
su ciò che gli viene passato. Si noti che non esiste un controllo particolarmente valido di ciò che viene passato a xargs
(cioè si presuppone che stia ottenendo una directory).
mdfind
e mdls
possono essere piuttosto utili per cose come questa, anche se ci si può prendere un po 'di tempo per abituarsi. Di solito uso mdls /path/to/file
per avere un'idea di quali metadati quel tipo di file ha. Posso quindi utilizzare le chiavi e i valori per cercare utilizzando mdfind
. Puoi trovare un sacco di pagine, esempi e documentazione là fuori, BTW.