grep コマンド
始めに断っておくが、Perlのgrep
関数ではない。
GNU grepが使える環境ならいらないのだが、POSIXのgrep
には-A
,-B
,--color
オプションが無い。仕事上で扱うのはPOSIXである事が多く、マッチした行の数行前後も出したい時など面倒なので無理やり作った。
パイプからの標準入力にも対応するためにちょっとした工夫をしなければならず、ファイルハンドルの扱いに苦労したり。マッチ文字列のカラーリングにTerm::ANSIColor
を使えば出来るかなと見てみたが、行全体に反映されてしまうので諦めて自分でテキトウに実装したり。
Perlは全く達者でないので、かなり拙いコードとなってしまった。もっと良い書き方があったら教えてほしいなぁ。