Split a file into pieces.
Read the given file (or standard input if no file is specified) and break it up into files of 1000 lines each.
Syntax split [-b byte_count[k|m]] [-l line_count] [file [name]] Option -b Create smaller files byte_count bytes in length. `k' = kilobyte pieces `m' = megabyte pieces. -l Create smaller files line_count lines in length.
If additional arguments are specified, the first is used as the name of the input file which is to be split.
If a second additional argument is specified, it is used as a prefix for the names of the files into which the file is split. In this case, each file into which the file is split is named by the prefix followed by a lexically ordered suffix in the range of `aa-zz'. If the name argument is not specified, the file is split into lexically ordered files named in the range of `xaa-zzz'.
For historical reasons, if you specify name, split can only create 676 separate files. The default naming convention allows 2028 separate files.
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
“Silence, that frail partition between the ill-concealed and the ill-revealed. . . ” ~ Samuel Beckett
Related macOS commands:
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