/
Вопросы и ответы
/
Ruby
/

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

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

5 лет назад

Человек-Молекула

Ответы

0

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

1
2
3
4
5
6
7
8
9
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

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

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

4 года назад

Андрей Шляпников

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845