読者です 読者をやめる 読者になる 読者になる

gren 1.0 - Rubyで使えるお手軽grep

ruby grep gren

f:id:tuto0621:20130410004258g:plain

数年前にgrenという手軽にfind+grep出来るものを作ったのですが、そこからデータベースを作って高速に検索する部分が Milkode になったり、当時1.8.7で動かしていたのですが1.9で動かなかった所に2.0が出たりしたので、久しぶりにコードの整頓やホームページにリニューアルをして1.0を出しました。

下記が新ホームページとなります。

Gren - grep next

特徴

  • ディレクトリ以下の全てのファイルを検索
    • grepのように難しい指定は不要
  • 不要なファイルは検索しない
    • .git, .svn, CVS, バイナリ
  • AND、NOT、OR、正規表現
    • 高度な検索オプション
  • 文字エンコードが混ざっていても検索可能

インストール

$ gem install gren

使い方

ディレクトリ以下のファイルを簡単に検索出来ます。

$ gren abc
abc.rb:1:def abc
abc.rb:6:abc

キーワードを重ねてAND検索(grepの場合はパイプを使う)

$ gren abc def
abc.rb:1:def abc

NOT, OR

$ gren abc --not def
abc.rb:6:abc

$ gren --or aaa --or bbb
aaa.txt:1:aaa
bbb.txt:1:bbb

開始ディレクトリを指定

$ gren ccc -d sub
sub/ccc.txt:1:ccc

さらに詳しい使い方はREADMEをどうぞ

旧バージョンから変わった所

  • ローカルファイルの検索に特化
    • grendb, grenweb などの機能は大幅に進化して Milkode
  • Ruby1.9対応
    • 動かない部分があったので修正
  • インストールが簡単に
  • パイプに対応
    • ls | gren test def 出来ます(一部環境は不可)

大量のファイルをまとめて検索したい時はMilkodeをどうぞ。

関連記事