Category
Linux Command
Usage
split [OPTION]... [INPUT [PREFIX]]
Manual
Output fixed-size pieces of FILE to PREFIXaa, PREFIXab, ...; default size is 1000 lines.
Options
- FILE: Input file, if not specified, or specified as
-
, read the standard input.
- PREFIX: Prefix for the split files. (default x)
- -a, --suffix-length=N: use suffixes of length N (default 2)
- --additional-suffix=SUFFIX: 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 lines per output file
- -d: use numeric suffixes instead of alphabetic
- --numeric-suffixes[=FROM]: the same as -x, but allow setting the start value (FROM)
- -e, --elide-empty-files: do not generate empty output files with -n
- --filter=COMMAND: write to shell COMMAND; file name is
$FILE
- -l, --lines=NUMBER: put NUMBER lines per output file
- -n, --number=CHUNKS: generate CHUNKS output files. CHUNKS may be:
- N: split into N files based on size of input
- K/N: output Kth of N to stdout
- l/N: split into N files without splitting lines/records
- l/K/N: output Kth of N to stdout without splitting lines/records
- r/N: like l but use round robin distribution
- r/K/N: likewise but only output Kth of N to stdout
- -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/...'
- --verbose: print a diagnostic just before each output file is opened
- --help: display this help and exit
- --version: output version information and exit
The SIZE argument is an integer and optional unit (example: 10K is $10\times1024$). 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.
Examples
Split a file into 4 equal parts
In the following example, the myfile.txt (FILE) will be divided into four equal parts (-n 4
). The resulting split files will be named as output_aa, output_ab, output_ac, and output_ad, respectively (as we specified PREFIX as output_).
split -n 4
myfile.txt output_
Split a file into 4 "equal" parts without breaking individual lines
In the following example, the myfile.txt (FILE) will be divided into four roughly equal parts (-n l/4
) and make sure lines will not be split into different files. The resulting split files will be named as output_aa, output_ab, output_ac, and output_ad, respectively (as we specified PREFIX as output_).
split -n l/4
myfile.txt output_
Share your experience or ask a question