最新のオプション画面です。
% gren -h gren [option] pattern -d, --directory DIR Start directory. (deafult:".") --depth DEPTH Limit search depth. --this "--depth 0" -i, --ignore Ignore case. -s, --silent Silent. Display match line only. --debug Debug display. -c Color highlight. -f, --file-regexp REGEXP Search file regexp. (Enable multiple call) --if, --ignore-file REGEXP Ignore file pattern. (Enable multiple call) --id, --ignore-dir REGEXP Ignore dir pattern. (Enable multiple call)
やったこと
- -cで色付き表示
- -f, --if, --idオプションを何個でも設定出来るように
- -sでサイレントモード、マッチした行のみを表示する
- 探索ディレクトリを第2引数で渡す形ではなく、-dオプションで渡すように(マルチキーワード検索への布石)
- マルチキーワード検索に対応(絞り込み検索出来ます)
- --depth, --this で探索する階層数を指定出来るように
つぶやき
マルチキーワード検索はgoogle検索のように指定した複数のキーワード全てにマッチした行だけを表示するものです。直感的に絞り込み検索出来るようになります。こいつを実現するために第2引数で渡していたディレクトリ指定を、-dオプションに引っ越しました。
thisは指定した探索ディレクトリ位置だけを検索対象とするオプションです。ホームディレクトリにある.emacsや.bashrcを検索する時だけ、grepに切り替ずにgrenだけで検索可能です。
IO#isattyを使う方法を検討したのですが、gren extern > ~/tmp/poi した時に結果画面が表示されないのが個人的に嫌だったので、-sを付けたサイレントモードを足す、という形で落ち着けました。