split — split a file into pieces

Examples (TL;DR)


split [OPTION]... [FILE [PREFIX]]


Output pieces of FILE to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-a, --suffix-length=N

generate suffixes of length N (default 2)


append an additional SUFFIX to file names

-b, --bytes=SIZE

put SIZE bytes per output file

-C, --line-bytes=SIZE

put at most SIZE bytes of records per output file


use numeric suffixes starting at 0, not alphabetic


same as -d, but allow setting the start value


use hex suffixes starting at 0, not alphabetic


same as -x, but allow setting the start value

-e, --elide-empty-files

do not generate empty output files with '-n'


write to shell COMMAND; file name is $FILE

-l, --lines=NUMBER

put NUMBER lines/records per output file

-n, --number=CHUNKS

generate CHUNKS output files; see explanation below

-t, --separator=SEP

use SEP instead of newline as the record separator; '\0' (zero) specifies the NUL character

-u, --unbuffered

immediately copy input to output with '-n r/...'


print a diagnostic just before each output file is opened


display this help and exit


output version information and exit

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

CHUNKS may be


split into N files based on size of input


output Kth of N to stdout


split into N files without splitting lines/records


output Kth of N to stdout without splitting lines/records


like 'l' but use round robin distribution


likewise but only output Kth of N to stdout


Written by Torbjorn Granlund and Richard M. Stallman.

Reporting Bugs

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

See Also

Full documentation <https://www.gnu.org/software/coreutils/split>
or available locally via: info '(coreutils) split invocation'


October 2019 GNU coreutils 8.31