Как разделить файл на равные части в ruby

Аватар пользователя Андрей Шляпников
Андрей Шляпников
04 ноября 2022

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

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)

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

0 0
Пройдите курс по программированию бесплатно

Похожие вопросы