Hatena::Grouprubyist

うんたらかんたらRuby RSSフィード

2009-04-28grepでマッチした後のn行を出力_改訂

grepでマッチした後のn行を出力_改訂

| grepでマッチした後のn行を出力_改訂 - うんたらかんたらRuby を含むブックマーク はてなブックマーク - grepでマッチした後のn行を出力_改訂 - うんたらかんたらRuby

前回分。

grepでマッチした後のn行を出力 - うんたらかんたらRuby - Rubyist


よくよく考えたら、複数マッチングする可能性があるので

微修正。


grep_word = (ARGV[0])
out_num = (ARGV[1]).to_i

match_num = 0
File.open('aaa.txt', 'r').each_with_index do |line, i|
  #マッチング処理
  if line =~ /#{grep_word}/
    puts ""
    puts "matching line:#{i}"
    match_num = i
  end
  #マッチング以降を出力
  if match_num != 0
    if i > match_num
      if i <= (match_num + out_num)
        puts line
      else
        #break
      end
    end
  end
end
トラックバック - http://rubyist.g.hatena.ne.jp/rochefort/20090428