Split a file into fixed-size pieces, creates output files containing consecutive sections of INPUT (standard input if none is given or INPUT is `-‘)
Syntax split [options] [INPUT [PREFIX]] Options -LINES -l LINES --lines=LINES Put LINES lines of INPUT into each output file. -b BYTES --bytes=BYTES Put the first BYTES bytes of INPUT into each output file. Appending `b' multiplies BYTES by 512, `k' by 1024, and `m' by 1048576. -C BYTES --line-bytes=BYTES Put into each output file as many complete lines of INPUT as possible without exceeding BYTES bytes. For lines longer than BYTES bytes, put BYTES bytes into each output file until less than BYTES bytes of the line are left, then continue normally. BYTES has the same format as for the `--bytes' option. --verbose Write a diagnostic to standard error just before each output file is opened.
By default, `split’ puts 1000 lines of INPUT (or whatever is left over for the last section), into each output file.
The output files’ names consist of PREFIX (`x’ by default) followed by a group of letters `aa’, `ab’, and so on, such that concatenating the output files in sorted order by file name produces the original input file.
If more than 676 output files are required, `split’ uses `zaa’, `zab’, etc.
Examples
Split up the file demo.zip into multiple 100 MB files:
$ split -b 100m demo.zip
The output files will be named with 3 letters starting xaa, xab, … to reassemble them, cat the files in alphabetical order:
$ cat `ls x*` > demo2.zip
“The man who is tired of London is tired of looking for a parking space” ~ Paul Theroux
Related linux commands:
csplit – Split a file into context-determined pieces
cut – Divide a file into several parts
fmt – Reformat paragraph text
fold – Wrap input lines to fit in specified width
head – Output the first part of file(s)
join – Join lines on a common field
paste – Merge lines of files
Equivalent Windows commands: FC /lb – Compare two files