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.