私はプログラミングに慣れていないので、やさしくしてください。私はライブラリデータベースの.datファイルからIBSN番号を抽出しようとしています。私は動作するコードを書いていますが、それは180MBのファイルの約半分を検索しているだけです。ファイル全体を検索するにはどのように調整できますか?または、どのように私は管理可能なチャンクにdatファイルを分割するプログラムを書くことができますか?Rubyで大きなファイルを処理するにはどうすればよいですか?
編集:ここに私のコードです:あなたは現代のオペレーティングシステム上でプログラミングしていると、コンピュータが(512megsを言う)十分なメモリを持っている場合
export = File.new("resultsfinal.txt","w+")
File.open("bibrec2.dat").each do |line|
line.scan(/[a]{1}[1234567890xX]{10}\W/) do |x|
export.puts x
end
line.scan(/[a]{1}[1234567890xX]{13}/) do |x|
export.puts x
end
end
@ zed_0xff:Yoann Le Toucheのアプローチは、ファイル全体をメモリに読み込まなかった。 –