Tôi khá mới để lập trình, vì vậy hãy nhẹ nhàng. Tôi đang cố gắng trích xuất các số IBSN từ một tệp cơ sở dữ liệu thư viện .dat. Tôi đã viết mã hoạt động, nhưng nó chỉ tìm kiếm thông qua khoảng một nửa của tập tin 180MB. Làm thế nào tôi có thể điều chỉnh nó để tìm kiếm toàn bộ tập tin? Hoặc làm thế nào tôi có thể viết một chương trình sẽ chia các tập tin dat thành khối quản lý?Làm cách nào để xử lý các tệp lớn trong Ruby?
chỉnh sửa: Dưới đây là mã của tôi:
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: Cách tiếp cận của Yoann Le Touche không đọc toàn bộ tệp trong bộ nhớ. –