Вероятно, это связано с тем, что результат использования целочисленной арифметики иногда приводит к значению, слишком малому.
Например, 1001 / 4 - это 250 но четыре лота по 250 строк не дадут всех ваших 1001 строк.
Вы можете изменить свою логику, увеличивая это значение до тех пор, пока четыре из них не станут по крайней мере такими же большими, как файл, например:
count = wc -l filename
split_count = (count)/4
while split_count * 4 < count: # Add these
split_count++ # two lines.
split -l split_count filename core_
Вы также можете округлить до следующего кратного N чтобы убедиться, что этого достаточно, что-то вроде:
split_count = (count + N - 1) / N