ファイルの検索の手順|最初に決めておくこと

ファイルの検索の手順を調べている人が本当に詰まっているのは、キーの押し方ではありません。同じ語を打っても、その日によって結果が違う。出てくるはずのファイルが出ない日がある。原因は操作ではなく、検索を始める前に決めていない項目が5つ残っていることです。決める順番を先に固めておけば、そのあとの操作は画面に出ている文字を読むだけで足ります。

手順が長くなるのは、性質の違う2つの検索を混ぜているから

Macの検索には、仕組みの違う2つの経路があります。ひとつは索引を引く検索です。バックグラウンドで作られた目録を引き当てるので、結果は一瞬で返ります。Spotlightと、フォルダの窓の右上にある検索欄はどちらもこの経路です。もうひとつは、その場でファイルを1つずつ開いて中を読む走査です。ターミナルのgrepやripgrepがこれにあたります。

この2つは速さが違うだけではありません。答えが違います。索引は、目録に載っていないものを返せません。走査は、目録があろうとなかろうと、指定した場所にあるものを全部見ます。そのかわり、対象が数万件あれば数秒から数十秒かかります。

さらに、索引を引く検索の中でも、名前だけで探すのと中身の語で探すのとでは当たり方が変わります。フォルダの窓で語を打つと、候補として「名前が一致」と「内容が一致」の両方が出ます。ここで無意識にどちらかを選んでいるため、隣の席の人と同じ語を打っても結果が食い違います。

Appleの説明にもこう書かれています。

検索結果が予期しないものだったり、多すぎたりする場合は、検索を絞り込むことができます。 出典: support.apple.com

絞り込みは後工程です。先に決めるのは、そもそもどの経路で探し始めるかです。名前を思い出せる仕事が多いなら名前の検索を既定にする。中身の語しか思い出せない仕事が多いなら中身の検索を既定にする。この1点を決めていないと、毎回2回検索することになります。

決めごと1: 検索を始める位置を既定にしておく

同じ語で結果が変わる原因のうち、いちばん多いのが開始位置です。フォルダの窓で検索欄に打ったとき、Macがどこから探し始めるかは設定で決まっています。

Finderのメニューから設定を開き、詳細のタブを見ると「検索実行時:」という項目があります。選べるのは次の3つです。

  • このMacを検索
  • 現在のフォルダ内を検索
  • 前回の検索範囲を使用

初期状態は「このMacを検索」です。この状態では、書類フォルダの窓を開いて検索しても、範囲は全体に広がります。心当たりのあるフォルダを開いてから探したつもりなのに、無関係な場所のファイルが山ほど混ざるのはこれが理由です。

どれを選ぶかは、仕事の形で決まります。案件ごとにフォルダが分かれていて、だいたいどこにあるか見当が付く人は「現在のフォルダ内を検索」が合います。どこに置いたか分からない状態から探すことが多い人は「このMacを検索」のままがよく、絞り込みは後からタブや条件で足します。「前回の検索範囲を使用」は、同じ場所を何度も往復する日には効きますが、前回がいつだったか覚えていない日には結果の理由が説明できなくなります。

決めたら、窓の上に出る「このMac」と現在のフォルダ名のボタンを毎回確認する癖まで含めて手順にします。範囲を示すボタンは検索欄のすぐ下に出ているので、結果がおかしいと思ったらまずそこを見ます。

決めごと2: 索引が届かない場所を先に一覧にする

索引を引く検索は速いかわりに、目録の外にあるものを返せません。どこが外なのかを先に把握しておくと、「あるはずなのに出ない」で時間を溶かさずに済みます。

外になりやすいのは次の場所です。

  • システム設定のSpotlightで、検索対象から除外したフォルダやディスク
  • マウントしていないディスクイメージや暗号化ボリュームの中身
  • つないでいない外付けドライブ、切断中のネットワーク共有
  • 名前の末尾が .noindex のフォルダの中身
  • 圧縮したままのアーカイブの中のファイル

除外の設定は、自分で入れたことを忘れている場合がほとんどです。仕事を受けた時期に守秘の都合で除外し、案件が終わったあとも外し忘れている、という形が典型です。手順を決める段階で一度開いて、いま何が入っているかを目で確認しておきます。

外付けドライブも、つなぎ直すたびに扱いが変わります。取り外している間は当然出てきませんし、つないだ直後は目録を作り直している最中のことがあります。容量の大きいドライブでは、この作り直しが終わるまで結果が虫食いになります。外付けに置いた素材を探す仕事が定期的にあるなら、つないでから数分置くという待ちも手順の一部として書いておくと、途中の結果を見て「消えた」と誤解せずに済みます。

もうひとつ、クラウドの同期フォルダは扱いが独特です。本体の容量を節約する設定にしていると、ファイルの見出しだけが手元に残り、中身はサーバー側にあります。名前では出るのに中身の語では出てこないときは、その1件を開いてから同じ語でもう一度探すと、どちらの問題かが切り分けられます。

決めごと3: 打つ語の型を1つにそろえる

同じ「探す」でも、打ち込む語の書き方は経路ごとに違います。使い分けを毎回考えていると、それ自体が手順の長さになります。よく使う3つを、自分の型として決めておきます。

1つ目は、フォルダの窓での属性つきの検索です。検索欄に kind: や date: のような前置きを付けると、種類や日付で最初から絞れます。書類の窓で kind:pdf と打ってから語を足すと、画像やメールの結果が混ざりません。

2つ目は、索引をコマンドから引くやり方です。mdfind に語を渡すと、Spotlightと同じ目録を使った結果がパスの一覧で返ります。mdfind -onlyin ~/Documents 見積 のように場所を限れば、結果を数十件まで落とせます。返ってくるのがパスの一覧なので、そのまま次のコマンドへ渡せるのが利点です。

3つ目は、索引を使わない走査です。ripgrepやgrepは、目録の有無に関係なく指定した場所の中身を読みます。索引に入っていないコードやログを探すときは、この経路しか答えを出せません。

どれを既定にするかは、探す対象が書類なのかコードなのかで変わります。決めたうえで、残りの2つは「既定で出なかったときに切り替える先」として順番を固定しておきます。切り替える順番まで決まっていれば、詰まってから考える時間がなくなります。

決めごと4: 繰り返す検索は条件として保存する

同じ検索を週に何度も打っているなら、それは手順ではなく設定にできます。フォルダのメニューから新規スマートフォルダを選ぶと、条件を組み合わせた窓が作れます。条件の行は右端のプラスで増やせるので、種類と更新日と場所を重ねて指定できます。

保存するとサイドバーに並び、以後は開くだけで最新の結果が出ます。中身は毎回引き直されるので、ファイルを移動しても一覧は追従します。よく使う形は3つです。今週更新した書類、特定の拡張子だけ、サイズが一定を超えるもの。この3つを作っておくと、日々打っている語の半分くらいが不要になります。

条件を組むときのこつは、名前に頼らないことです。名前で絞った条件は、命名の癖が変わった瞬間に当たらなくなります。かわりに、種類と期間と置き場所という、あとから変わりにくい3つで組むと長く使えます。たとえば「書類フォルダの中で、種類がPDFで、更新日が過去7日以内」という条件は、ファイル名の付け方が変わっても結果が崩れません。逆に「名前に請求を含む」だけの条件は、取引先の様式が変わった月から急に空になります。

注意したいのは、条件を細かくしすぎると、条件から外れた1件を見落とす点です。保存した条件は「よく当たる網」であって、全部を拾う網ではありません。見つからなかったときに広い検索へ戻る経路を残しておきます。

決めごと5: 見つけたあとの受け渡し方を決める

検索の手順を詰める人の多くが、見つけた瞬間で手順を終わりにしています。実際には、そのあとに必ず何かをします。開く、送る、コマンドに渡す、別の場所へ写す。ここの受け渡しが決まっていないと、せっかく短くした検索の後ろで時間がかかります。

Spotlightの結果では、ファイルを選んでCommandキーを押したままにすると、プレビューの下にそのファイルの場所が出ます。どのフォルダにあったかを確認してから開けるので、同名のファイルを取り違えません。

フォルダの窓では、ファイルを選んで編集メニューを開き、Optionキーを押します。「コピー」の表示が「パス名をコピー」に変わり、選んだファイルのパスがそのまま手に入ります。ターミナルに渡す作業が多い人は、これを1つ目の受け渡し手段として決めておきます。ファイルをターミナルの窓へドラッグしても、パスが引用符付きで入ります。

受け渡しの手段は、多く覚えるより1つに決めるほうが速くなります。決めたものを毎回同じ順で使うことで、考える時間がゼロになるからです。

決めた順に点検すると、どこで止まっているかが見える

5つの決めごとは、そのまま不調のときの点検順になります。結果がおかしいときは上から順に見ます。

1つ目、いまの検索は名前を見ているか中身を見ているか。2つ目、範囲はどこから始まっているか。3つ目、探している場所は索引の対象か。4つ目、打った語の型は経路に合っているか。5つ目、見つけたあとの手が止まっていないか。

この順で見ると、原因の切り分けが1分程度で終わります。逆に、決めていないまま索引の作り直しから手を付けると、待ち時間だけが増えて、終わったあとも原因が分からないままです。索引の再構築は効果が大きい操作ですが、上の4つを確かめてからでも遅くありません。

手順を短くしても残る往復がある

ここまでの5つを決めると、探す操作そのものは短くなります。それでも1日を通して見ると、時間の多くは検索以外のところで消えています。フォルダの窓で見つけて、パスをコピーして、ターミナルの窓に移って、結果を見て、また別の窓で調べる。この移動は検索の手順を詰めても減りません。

数えてみる価値があるのは、1日のうちにフォルダの窓とターミナルの窓のあいだを何回移ったかです。この回数が多い人は、検索を速くしても総量が変わりません。減らすには、窓の数そのものを変える方向の道具が要ります。フォルダとターミナルとAIが同じ窓にある形なら、パスをコピーして移る工程が丸ごと消えます。

どちらの方向に手を入れるべきかは、いまの詰まり方で決まります。探すのが遅いことが問題なら、ここまでの5つの決めごとで解決します。作業がいくつものアプリに散っていることが問題なら、比較の軸を整理した他のファイル管理との比較を見てから、1つの画面の中で何が扱えるのかをまとめたできることで前提を揃えると判断が早くなります。外出先で続きを見るかどうかも判断材料になるので、手元を離れたあとの扱いはiPhone・iPadから続きをで確かめられます。費用から先に決めたい場合は料金を、細かい条件はよくある質問を見ると必要な情報が揃います。

最後に決める順番をもう一度並べます。名前か中身かを決める、開始位置を決める、索引の外を一覧にする、打つ語の型を決める、繰り返す検索を保存する。この5つを先に片付ければ、検索の手順は覚えるものではなく、画面を見れば分かるものになります。

よくある質問

同じ語で探しているのに、日によって結果が変わるのはなぜ?

検索を始める位置が固定されていない場合に起きます。Finderの設定にある「検索実行時:」が「前回の検索範囲を使用」になっていると、その日に最後に使った範囲が引き継がれます。結果の理由を毎回説明できる状態にしたいなら、「このMacを検索」か「現在のフォルダ内を検索」のどちらかに固定してください。

名前では出るのに、中身の語で出てこないときは何を疑えばいい?

その場所が索引の対象から外れているか、ファイルの中身が手元に無いかのどちらかです。システム設定のSpotlightで除外リストを確認し、クラウドの同期フォルダにあるファイルなら一度開いてから同じ語で探し直します。それでも出ない場合は、索引を使わないgrepやripgrepで走査すると切り分けられます。

スマートフォルダと、毎回検索欄に打つのはどちらが速い?

週に2回以上打つ条件ならスマートフォルダのほうが速くなります。条件が保存されるので、開くだけで最新の結果が出ます。ただし条件から外れた1件は拾えないため、見つからなかったときに広い範囲の検索へ戻る手順を併せて決めておくと取りこぼしが減ります。

見つけたファイルのパスを手早くコマンドへ渡す方法はある?

フォルダの窓でファイルを選び、編集メニューを開いてOptionキーを押すと「パス名をコピー」に変わります。これで選んだファイルのパスがそのまま手に入ります。ターミナルの窓へファイルをドラッグしても、引用符付きのパスが入力されます。

記事一覧へ戻る