Я хочу разбить файл на равные части так, чтобы последний файл получал оставшиеся записи в Unix. Например: файл имеет 4 строки, я хочу разделить на 4 файла = удивительно. 1 строка на файл.
У меня 5 строк, я хочу разбить на 4 файла. То, что я действительно хочу здесь, это:
File - number of lines;
f1 - 1;
f2 - 1;
f3 - 1;
f4 - 2;
Возможно ли это даже через прямую команду split в Unix? Я думаю, что невозможно без некоторого дополнительного итеративного кодирования вокруг раскола?
Вот что я попробовал:
numsplitfile=$parm (lets say 4)
total_lines=$(wc -l < $inputfile) (lets say the file has 5 lines)
lines_per_file = (total_lines + numsplitfile - 1) / numsplitfile)
split -l $lines_per_file $inputfile splitfilename
Что он делает, так это то, что он преобразуется в:
split -l 2 $inputfile splitfilename
отсюда и 3 файла по 2, 2, 1 строки в каждом. Но я хочу 1, 1, 1, 2 строки в 4 файлах.