Spotlightとは?
Spotlight とは「アプリ」「フォルダ」「ファイル」「メール」「イメージ」「Webページ」……などのコンピュータの内容をあらかじめインデックスしておくことで、コンピュータ内をすばやく検索できる機能です。
もうすこしエンジニア向けの記載を探すと、
Spotlight(スポットライト)とは、Mac OS X v10.4 Tigerから搭載されたSQLiteをベースとしたデスクトップ検索機能、およびその基盤技術のことである。
とあります。つまり、lsやfindコマンドのように情報を取得・検索できるツールのようです。
さて、Spotlightにはlsやfind の代わりにmdlsやmdfindがあります。
使ってみた
さっそくmdlsコマンドを使ってみます。
例えばあるjpgの画像ファイルをmdlsで見てみると、以下のように情報が取得できます。
mdls hoge.jpg kMDItemAcquisitionMake = "Canon" kMDItemAcquisitionModel = "MG6100 series" kMDItemBitsPerSample = 32 kMDItemColorSpace = "RGB" kMDItemContentCreationDate = 2015-01-03 03:06:08 +0000 kMDItemContentModificationDate = 2015-01-03 03:06:08 +0000 kMDItemContentType = "public.jpeg" kMDItemContentTypeTree = ( "public.jpeg", "public.image", "public.data", "public.item", "public.content" ) kMDItemCreator = "MP Navigator EX 4.0" kMDItemDateAdded = 2015-01-05 13:43:27 +0000 kMDItemDisplayName = "hoge.jpg"
実は長いから後半を打ち切ったくらいで本当はもっと下にツラツラと出てきます。情報を見てると、商品名等も確認できます。
同様に、PDFファイルを対象として同コマンドを実行すると、
kMDItemNumberOfPages = 6
といった項があり、これはページ数となります。
つまり、こちらを検索条件としてひっかけることも可能です。
pdfファイルがいくつかあるディレクトリの下で、
mdfind -onlyin ./ "kMDItemNumberOfPages > '数字'"
上記コマンドを発行すれば、自分がいるディレクトリ下で数字ページ以上のpdfファイルを返してくれたりします。
こういうことができるという前情報を頭に入れておくと、いざファイルを探す時に便利かもしれないので備忘録として残しておきました。
以上です。