#!/usr/bin/env ruby exit 1 if ARGV.size < 2 pattern = ARGV[0] ARGV[1..-1].each do |fname| unless File.file?(fname) puts "File #{fname} does not exist or is a directory" exit 1 end File.open(fname, 'r') do |f| f.each_line do |line| puts "#{f.lineno}:\t#{line}" if line =~ /#{pattern}/ end end end