例えばgrepはヒットしたのが前から表示される。長いファイルだと非常に時間がかかるわけだ。つながった巨大なログを見るときとか、最後が知りたいのに、最後に表示される。そして時間がかかる。1GBくらいのテキストのログを考えてみると、毎度毎度最後のほうが知りたくてgrepをかけるのはまさに無謀というものだ。
このような要求だと、lvで末尾まで見てから検索をかけるのが一番速いだろう。lessは遅いけど、lvなら速い。
しかしながら、いちいちlvを使うわけじゃなくてgrepを使ってしまう人も多いだろう。上げて末尾に行って検索、って操作が面倒だから。
というわけで、末尾から表示する、全部読まずにgrepというのが欲しいなぁ。たぶん、作るのは難しくないだろう。tailとheadとgrepを組み合わせてシェルスクリプトにする…とexecがネックになるか(笑)。いっちょPythonで書こうかなと思った(本当に書くかどうかはわからない)。
この作業って、最速はどういうコードなんだろうと思う。後ろのほうからmmapしてって少しずつregexpでマッチングをかけると速いかもしれない。
…こんなの、大したパズルじゃないよなぁ。