从数据包捕获文件中搜索“IP len =”的所有实例

时间:2011-04-21 16:48:26

标签: ruby

我有一个txt文件,我用它来通过网络捕获数据包。我想知道是否有人能够告诉我如何使用正则表达式搜索文件中的'IP len ='的所有实例,并将其提取到另一个文件中?

2 个答案:

答案 0 :(得分:2)

这个小脚本可以解决问题(根据需要修改):

#!/usr/bin/ruby -w

File.open('infile.txt', 'r') do |infile|
    File.open('outfile.txt', 'w') do |outfile|
        while (line = infile.gets) do
            if line =~ /IP\s+len\s+=/ then
                outfile.puts line
            end
        end
    end
end

答案 1 :(得分:0)

这应该可以解决问题:

File.open("log.txt", 'r') do |f|
  File.open("ip_len_out.txt", 'w') do |out|
    f.lines.each do |line|
      out.puts $1 if line.match(/IP\s+len\s*=(\d+)/)
    end
  end
end

ip_len_out.txt现在包含所有ip长度,新行分隔。