0
私はプログラミングの初心者です。 時間に基づいて特定の行からファイルを読み込み、別のファイルに書き込む必要があります。しかし、最初の行をスキップして、もう一方のファイルに書き込んでいます。上記のスクリプトを実行していrubyのキーワードを含む特定の行からファイルを読み込みます。
timeStr="2011-08-01 02:24"
File.open(path+ "\\logs\\messages.log", "r") do |f|
# Skip the garbage before pattern:
while f.gets !~ (/#{timeStr}/) do; end
# Read your data:
while l = f.readlines
File.open(path+ "\\logs\\messages1.log","a") do |file1|
file1.puts(l)
end
end
end
場合timeStrに一致する最初の行はスキップされ、2行目からファイルは、メッセージ1に書き込まれます。 messages1.logファイルを開くと、一致する文字列を含む最初の行は存在しません。 messages1.logファイルへの書き込み中に最初の行をインクルードする方法。
while f.gets !~ (/#{timeStr}/) do; end
はそれを捨て:
おかげさまで、あなたの提供したコードを使用しています。 – wani