From: "David A. Black" Date: 2008-12-24T10:44:39+09:00 Subject: [ANN] Grepper: object-oriented grepping Hi -- If you feel the need to do simple object-oriented grepping, have a look at the Grepper class, which is in a project I've started on RubyForge (http://rubyforge.org/projects/grepper/). You give a Grepper object a list of files, a pattern, some options... and it creates a result set, which you can then walk through. g = Grepper.new g.files = %w{ one.txt two.txt three.txt } g.options = %w{ B2 } # two lines of before-context g.run g.results.each do |file, result| result.matches.each do |lineno,before,line,after| etc. There's also a Formatter, which does its best to emulate standard grep(1) output. In fact the whole thing started as an experiment in implementing grep in Ruby. I then decided to create a layer that just did the grep logic, on top of which I could build the output formatting and so forth. Let me know if any bugs, questions, etc. David -- David A. Black / Ruby Power and Light, LLC Ruby/Rails consulting & training: http://www.rubypal.com Coming in 2009: The Well-Grounded Rubyist (http://manning.com/black2)