split Command
Purpose
Splits a file into pieces.
Syntax
To Split a File Into Multiple Files Containing a Specified Number of Lines
split [ -l LineCount ] [ -a SuffixLength ] [ File [ Prefix ] ]
To Split a File Into Multiple Files Containing a Specified Number of Bytes
split -b Number [ k | m ] [ -a SuffixLength ] [ File [ Prefix ] ]
Description
The split command reads the specified file and writes it in 1000-line pieces to a set of output files. The name of the first output file is constructed by combining the specified prefix (x by default) with the aa suffix, the second by combining the prefix with the ab suffix, and so on lexicographically through zz (a maximum of 676 files). The number of letters in the suffix, and consequently the number of output name files, can be increased by using the -a flag.
You cannot specify a Prefix longer than PATH_MAX - 2 bytes (or PATH_MAX - SuffixLength bytes if the -a flag is specified). The PATH_MAX variable specifies the maximum path-name length for the system as defined in the /usr/include/sys/limits.h file.
If you do not specify an input file or if you specify a file name of - (minus sign), the split command reads standard input.
The split command can be used with any regular text or binary files. After a file has been split, it can be restored to its original form by using the cat command, and the file fragments will be listed in the appropriate order.
Flags
Note: The -b and -l flags are mutually exclusive.
Item | Description |
---|---|
-a SuffixLength | Specifies the number of letters to use in forming the suffix portion of the output name files. The number of letters determines the number of possible output filename combinations. The default is two letters. |
-b Number | Splits the file into the number of bytes specified by the Number variable. Adding the k (kilobyte) or m (megabyte) multipliers to the end of the Number value causes the file to be split into Number*1024 or Number*1,048,576 byte pieces, respectively. |
-l LineCount | Specifies the number of lines in each output file. The default is 1000 lines. |
Exit Status
This command returns the following exit values:
Item | Description |
---|---|
0 | The command ran successfully. |
>0 | An error occurred. |
Examples
- To split a file into
1000-line segments, enter:
This example splits book into 1000-line segments named xaa, xab, xac, and so forth.split book
- To split a file into
50-line segments and specify the file-name prefix, enter:
This example splits book into 50-line segments named sectaa, sectab, sectac, and so forth.split -l 50 book sect
- To split a file
into 2KB segments, enter:
This example splits the book into 2*1024-byte segments named xaa, xab, xac, and so forth.split -b 2k book
- To split a file
into more than 676 segments, enter:
This example splits a book into 5-line segments named sectaaa, sectaab, sectaac, and so forth, up to sectzzz (a maximum of 17,576 files).split -l 5 -a 3 book sect
Files
Item | Description |
---|---|
/usr/bin/split | Contains the split command. |