Macのターミナルからファイルを検索する(mdfind)

投稿日:

こんにちは、okuzawatsです。
開発用の端末にはMacを使っています。

パソコンを使っていると、
「あの事について書いたメモが見つからないけど、どこに保存したかな...?」
という事がよくあると思います。
わたくしはよくあります。

こんな時、ファイルを一個一個開いて確認していたのでは、時間がかかって大変です。
一発で探してくれる機能があると便利ですね。

Macには「Spotlight」という機能が用意されており、ファイルの検索をすることが可能です。
Macの画面右上に表示されている、検索マークから使える機能ですね。

実はこのSpotlightの機能、ターミナルからもCUIで使えます。
開発をしている時は、ターミナルからCUIで、オプションを指定してファイルを探せた方が効率的です。

MacのターミナルからSpotlightの検索機能を使うには、「mdfind」コマンドを使います。
この記事では、mdfindコマンドの使い方をまとめていきます。

mdfindコマンドを使ったファイル検索

まずは基本編。
Mac全体から、検索語句を含むファイルを探します。

ターミナルを開き、mdfindコマンドと検索キーワードを打ち込みます。
ターミナルは、「Launchpad > その他 > ターミナル」という順番で開くとあります。

mdfind プロ生ちゃん

ターミナルにファイルパスの一覧がズラッと表示されます。

mdfindコマンドでファイル検索

複数のキーワードで検索することも可能です。
mdfindコマンドの後に、半角スペースで区切ったキーワードを入力します。
キーワードがすべて含まれたファイルが検索されます。

mdfind プロ生ちゃん image

「キーワードAまたはキーワードB」というような「OR検索」も可能です。
大文字の「OR」でキーワードを区切ります。

mdfind プロ生ちゃん OR pronama

特定のキーワードを検索結果から除外するためには、検索キーワードの前に「-」を付けます。
この場合は、検索語句全体をダブルクオーテーションで囲む必要があります。

mdfind "プロ生ちゃん -pronama"

ファイル名で検索

ファイルの内容ではなく、ファイル名をテキスト検索することも可能です。

ファイル名の検索を行うには、mdfindコマンドにnameオプションを付けて検索します。
以下のようにコマンドします。

mdfind -name プロ生ちゃん

検索結果は以下のようになります。
ファイル名に検索キーワードが含まれているファイルのみ表示されます。

mdfindコマンドでファイル名を検索

ディレクトリ内部を検索

特定のディレクトリの内部にあるファイルを検索するためには、「onlyin」オプションを使います。
mdfindの後にonlyinオプション、その後に対象とするディレクトリのパス、最後に検索キーワードを入力。

コマンドはこんな感じです。
この場合は、デスクトップにあるファイルを検索します。

mdfind -onlyin ~/Desktop pronama

検索結果はこんな感じになります。
対象のディレクトリ内部のファイルのみが表示されています。

mdfindコマンドでディレクトリ内部を検索

検索対象とするディレクトリは、複数指定することも可能です。
コマンドはこんな感じです。

mdfind -onlyin ./PronamaCalculator/ -onlyin ./PronamaTaskManager/ -onlyin ./PronamaWatchFace/ プロ生ちゃん

ヒットする件数を取得

mdfindコマンドでは、検索結果のヒット数を表示することも可能です。
mdfindの「count」オプションを使います。

こんな感じでコマンドを打ちます。

mdfind プロ生ちゃん -count

検索結果は、以下のように出力されます。

mdfindコマンドのヒット数

他のオプションと併用することもできます。

-Mac

Copyright© Androidアプリ開発@つくば , 2017 AllRights Reserved Powered by AFFINGER4.