Bruk Spotlight fra kommandolinjen med mdfind

Spotlight er en av mine favorittfunksjoner i Mac OS X, jeg bruker nok den mer enn til og med Dock. Å være i stand til å slå kommandospill for raskt å finne dokumenter, e-postmeldinger og startprogrammer, er uendelig nyttig. For noen av oss er det nødvendig å være i terminalen, og ville det ikke vært kult å ha denne ultra søken-funksjonen i kommandolinjen? Vel, det er der, åpne opp Terminal (eller iTerm) og utforsk mdfind, kommandolinjeversjonen av Spotlight.

Selv om du er ny eller uvitende om Unix-underlagene til Mac OS X, kan du prøve dette ut.

Åpne din terminal og skriv mdfind, du vil få noen retninger kastet tilbake på deg fordi du ikke angav et søk, dette er litt som en forkortet manuell side, men du kan hente den manuelt med -h-flagget også, som de fleste andre kommandolinjeverktøy.

$ mdfind
mdfind: no query specified.

Dette skyldes at du må levere mdfind med noen data for å se etter, for eksempel:

mdfind [search directive]

Men la oss fortsette med hele instruksjonssettet som kommer fra å returnere hjelpeseksjonen, la oss se gjennom dette for et øyeblikk:

$ mdfind
mdfind: no query specified.

Bruk: mdfind [-live] [-onlyin directory] spørring
oppgi filene som samsvarer med spørringen
spørringen kan være et uttrykk eller en ordsekvens

-Live Query bør forbli aktiv
-onlyin dir Søk bare i gitt katalog

-0 Bruk NUL (`` \ 0 '') som en stilseparator, for bruk med xargs -0.

eksempel: mdfind bilde
eksempel: mdfind "kMDItemAuthor == '* MyFavoriteAuthor *'"
eksempel: mdfind -live MyFavoriteAuthor

Hvis dette ser forvirrende ut, er det ikke.

La oss si at du vil finne en fil som heter 'oppskrift' og du vet at den er i dokumentmappen din, du vil skrive:

$ mdfind recipes -onlyin ~/Documents/

Hvis du har massevis av oppskrifter, er det sannsynligvis en god ide å rør produksjonen til mer, som vist nedenfor:

$ mdfind recipes -onlyin ~/Documents/ | more

Ved å pipere resultatene gjennom mer, kan du se en skjermbilde om gangen. Du kan gå ut mer ved å trykke på kontroll-c.

Hvis du ikke vet hvor noe er, kan du være mye mer vag, og bruk bare navnetkvalifikatoren:

mdfind -name Pumpkin

Dette vil søke hele macen for alt med "Gresskar" i navnet, som da vil bli rapportert tilbake.

Det er mye mer å gjøre med mdfind-kommandoen, men vi vil holde det enkelt for nå. Utover nysgjerrighet er mdfind-kommandoen trolig mer nyttig for sysadmins, unix geeks, shell scripters og programmerere enn vanlig Mac-bruker. For resten av oss er kommandospill hvor den er, og vi klager ikke.