summaryrefslogtreecommitdiff
path: root/ruby/grep.rb
blob: 61d60b0b8044f423ce63aff7883b523776cbdbd7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/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