Ruby と RegEx を使用して、大きなログ ファイルから 16 進データの行をフィルター処理/追加しようとしています。
必要なログ ファイルの行は次のようになります。
Data: 10 55 61 (+ lots more hex data)
後でさらに処理するために、すべての 16 進データを追加したいと考えています。正規表現 /^\sData:(.+)/ でうまくいくはずです。
私のRubyプログラムは次のようになります:
puts "Start"
fileIn = File.read("inputfile.txt")
fileOut = File.new("outputfile.txt", "w+")
fileOut.puts "Start of regex data\n"
fileIn.each_line do
dataLine = fileIn.match(/^\sData:(.+)/).captures
fileOut.write dataLine
end
fileOut.puts "\nEOF"
fileOut.close
puts "End"
それは機能しますが、出力ファイルの行はすべて同じで、最初の正規表現一致の結果を繰り返すだけです。
私は何を間違っていますか?