フォルダはブラウザ内で読み取ります。アップロードも変更も行いません。
ファイル内検索について
誰もが一度は、ファイルの中身を手がかりにファイルを探したことがあるはずです。200枚の請求書のどれかにある取引先名、設定ファイルに残った古いパスワード、メモを集めたフォルダの中の一節。そして誰もが、OS標準の検索ボックスに裏切られた経験があるはずです。
Windows の検索がファイルの中身をインデックス化するのは、特定の場所と特定の種類だけです。インデックスがない場所では、そう伝える代わりに「何も見つからない」と返します。これはエラーより悪い結果です。その文字列が存在しないのだ、と受け取ってしまうからです。Spotlight のほうが優秀ですが、何を見なかったかについては同じように口をつぐみます。
このツールは対象となるファイルをすべて開いて読みます。ファイル名・行番号・該当行そのものが得られ、同じくらい重要なこととして、読めなかったものの件数も表示されます。
読み取り専用です。アップロードも変更も行いません。
使い方
- 検索するフォルダを選ぶをクリックして指定します。ブラウザが読み取りの許可を求めます
- 探したい文字列を入力します
- 必要に応じて大文字と小文字を区別、単語単位、正規表現にチェックを入れます
- この種類だけで絞り込みます。txt, md だけを対象にすれば、すべてを開くよりはるかに高速です
- 検索を押し、一致箇所をコピーするか CSV をダウンロードします
一致箇所には行番号と行の内容が表示され、該当部分が強調されます。極端に長い行は捨てるのではなく該当箇所の周囲だけを切り出すので、圧縮された1行のファイルでも役に立つ答えが返ります。
何を除外したかを表示します
ここが OS 標準の検索の弱点なので、検索のたびに画面上で明示します。
- テキストでない — NUL バイトを含むファイルはバイナリです。JPEG の中から「請求書」を探しても雑音しか出ないので、除外して件数を数えます
- サイズ超過 — 8 MB を超えるもの。巨大なログ1つでタブが固まるべきではありません
- 読み取り不可 — 他のプログラムがロックしている、走査中に消えた、OS に拒否された
検索結果が空で、概要に「除外 40 件」と出ていれば、種類の絞り込みを広げて試し直せばよいとわかります。黙って 0 件と返されていたら、何もわからないままでした。
3通りの照合方法
- 通常の文字列 — 既定です。入力したものはそのまま文字どおりに照合されるので、価格 ($) を検索すればそのとおりに見つかり、記号をエスケープする必要はありません
- 単語単位 — cat は cat に一致し、category には一致しません。名前や識別子を探すときに便利です
- 正規表現 — JavaScript の完全な構文が使えます。日付なら \d{4}-\d{2}-\d{2}、どちらかを探すなら TODO|FIXME、行頭一致なら ^import。不正な式は「一致なし」ではなく「不正である」と報告されます
大文字と小文字を区別は3通りすべてに適用されます。
こんな場面で使われています
- 何百通もの中から取引先名の入った請求書を見つける
- 設定ファイルだらけのフォルダに埋もれた項目を探し当てる
- メモや Markdown のフォルダから、うろ覚えの言い回しを探す
- プロジェクトのフォルダに API キーやパスワードが置き去りにされていないか確認する
- 名前を変更する前に、その関数や変数に言及しているファイルをすべて洗い出す
- 本来あってはならない値がないか、書き出した CSV を点検する
- チケットに貼り付けられる、行番号付きの一覧を得る
知っておくと便利なこと
- Windows、macOS、Linux、ChromeOS で動作します。 ウェブページなのでインストールは不要です。iPhone、iPad、Android では利用できません。モバイルのブラウザにはフォルダをウェブページへ渡す手段がないためです
- ここではどのブラウザでも同じ結果になります。 ファイルの中身を読むことは、新しいフォルダ選択機能でも従来のファイル一覧方式でも同じようにできるからです
- アップロードは一切ありません。すべてのファイルをページ内で開いて検索します
- インデックスを持たないため、大きなフォルダでの初回検索には読み込みと同じだけ時間がかかります。同時にそれは、結果が古くなることが決してない理由でもあります
- 1ファイルあたり最大 50 件、画面表示は最大 300 ファイルまでですが、CSV にはすべての一致が入ります
- ファイルは UTF-8 として読み込みます。古い地域別エンコーディングのファイルでは文字化けが出ることがありますが、単純な ASCII テキストであれば検索自体は機能します
- 検索はページ内で実行されるため、非常に大きなフォルダではタブが忙しくなります。進捗バーで状況がわかります
関連ツール
- フォルダ・ファイル一覧 — 中身ではなく名前で探す
- 文字列の検索と置換 — 見つけた文字列を書き換える
- 正規表現テスター — フォルダに対して実行する前にパターンを組み立てる
- 重複ファイル検索 — 似た文字列ではなく、同一のファイルを見つける