Как разделить файл на равные части в ruby — Q&A Хекслет
2026-02-26 19:52 Diff

Ответы

Если файл текстовый можно сделать так:

def file_chunk(count_part, file_path) file = File.new(file_path, 'r:UTF-8') index = 1 file.readlines.each_slice(count_part) do |group| new_file = File.new("./part_#{index}", 'a:UTF-8') new_file.print(group.join) index += 1 end end

Так же можно воспользоватся нативной командой Linux через библиотеку Open3

command = "split -b 10M ~/path/to/file ~/path/to/split-file.part_" stdout_str, status = Open3.capture2(command)

Сдесь файл разбивается по размеру