Outline Grepは検索にマッチした行からノードをさかのぼって検索結果を出してくれるテキスト検索ツールです。

プログラマーであれば誰しもが使ったことのあるコマンドの一つがGrepではないでしょうか。確かに便利なコマンドなのですが、ちょっと不便に感じていたのが抽出した行の「周囲」の情報が得られないということです。そんな不満を解消してくれそうな面白いソフトウェアがOutline Grepです。


Outline GrepはHaskellで作られています。別途インストールが必要です。なお、インストールは簡単(cabal installくらい)です。


検索元になるテキストです。テキストがアウトライン化されているのが分かるでしょうか。ここがミソです。


実際に検索した結果です。結果行のアウトラインで言う所の親ノード(さらに親があればそれも含めて)を辿って出力しています。どのカテゴリに属している情報か、すぐに分かります。


日本語も使えます。


日本語を使っているテキストファイル。UTF-8で記述しています。

予めメモを階層化して記述しておくことで、探す時に分かりやすくなります。また、恐らくPythonのコードなどで階層をきちんと考慮しつつ記述しておけば、呼び出し元の関数なども探せるかも知れません。検索は正規表現が使えるようです。

Outline GrepはMIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

「検索」と一言でいっても実は色々な種類があります。単純に求めている単語だけを出せばいいわけではありません。ある意味でGoogleがそのニーズを掘り起こしたとさえ言えます。単純に結果が多ければいいわけではなく、ユーザが欲しいと思う情報を返してこそ意味があるという考えです。

デスクトップ検索やテキストの検索、画像、商品など検索は多様なニーズがあります。それらはまだまだ掘り起こされていないものばかりです。Googleが手を伸ばせない、ごくごく小さなニーズを積み上げていくと最終的に面白いサービスになっている可能性はありそうです。

Weekend hack: Outline grep

mbrubeck/outline-grep - GitHub