split-print $NR_PARTITIONS /path/to/big/file split-print is conceptually similar to the traditional split(1) utility, except it does not write out files. It will instead output byte ranges for other applications (like cat-range-exec) to pick up. The file ranges outputted by split-print will end at a newline boundary (assuming the file has any newlines in it at all). $ split-print 4 foo.log 0-54196096 54196097-108392108 108392109-162588180 162588181-216783853 It will always output the byte range for at least one partition, but may output less than the specified number of partitions if the buffer size is too small. Lines along partition points may not be longer than 64K (lines this long are very rare in practice).