Как разделить файл на равные части в 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