(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Mac】mdfindコマンドでPDFのページ数で検索する

スポンサーリンク

mdfind?

mdfindとは、Spotlightとの一機能で「アプリ」「フォルダ」「ファイル」「メール」「イメージ」「Webページ」……などの情報を検索できる機能です。
技術的にはSQLiteがベースになっている模様で、実体はlsfindコマンドのように情報を取得・検索できるツールです。

ターミナルにてmdlsmdfindと押下すれば特別なインストールは不要で利用できます。

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

といったページ数までコマンドラインから確認可能です。。

こちらのページ数を元に検索するコマンドはmdfindを利用して以下となります。、

mdfind -onlyin ./ "kMDItemNumberOfPages > '数字'" 

上記コマンドを発行すれば、指定したディレクトリ配下で数字ページ以上のpdfファイルのパスが表示されます。

以上、Macユーザーの方のご参考になれば幸いです。