SPLIT(1) BSD General Commands Manual SPLIT(1)NAME
split -- split a file into pieces
SYNOPSIS
split [-a suffix_length] [-b byte_count[k|m]] [-l line_count] [-p pattern] [file [name]]
DESCRIPTION
The split utility reads the given file and breaks it up into files of 1000 lines each. If file is a single dash ('-') or absent, split reads
from the standard input.
The options are as follows:
-a Use suffix_length letters to form the suffix of the file name.
-b Create smaller files byte_count bytes in length. If ``k'' is appended to the number, the file is split into byte_count kilobyte
pieces. If ``m'' is appended to the number, the file is split into byte_count megabyte pieces.
-l Create smaller files n lines in length.
-p pattern
The file is split whenever an input line matches pattern, which is interpreted as an extended regular expression. The matching line
will be the first line of the next output file. This option is incompatible with the -b and -l options.
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 using suffix_length characters in the range ``a-z''. If -a is not speci-
fied, two letters are used as the suffix.
If the name argument is not specified, the file is split into lexically ordered files named with prefixes in the range of ``x-z'' and with
suffixes as above.
SEE ALSO csplit(1), re_format(7)STANDARDS
The split utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'').
HISTORY
A split command appeared in Version 3 AT&T UNIX.
BUGS
For historical reasons, if you specify name, split can only create 676 separate files. The default naming convention allows 2028 separate
files. The -a option can be used to work around this limitation.
The maximum line length for matching patterns is 65536.
BSD April 16, 1994 BSD
Check Out this Related Man Page
split(1) General Commands Manual split(1)NAME
split - Splits a file into pieces
SYNOPSIS
Current syntax
split [-l line_count] [-a suffix_length] [file | -] [prefix]
split -b n [k|m] [-a suffix_length] [file | -] [prefix]
Obsolescent syntax
split [-number] [-a suffix_length] [file | -] [prefix]
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
split: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
Uses suffix_length letters to form the suffix portion of the file names of the split file. If -a is not specified, the default suffix
length is two letters. If the sum of the prefix and the suffix arguments would create a file name exceeding NAME_MAX bytes, an error
occurs. In this case, split exits with a diagnostic message and no files are created. Split a file into pieces n bytes in size. Split a
file into pieces n kilobytes (1024 bytes) in size. Split a file into pieces n megabytes (1048576 bytes) in size. Specifies the number of
lines in each output file. The line_count argument is an unsigned decimal integer. The default value is 1000. If the input does not end
with a newline character, the partial line is included in the last output file. Specifies the number of lines in each output file. The
default is 1000 lines per output file. If the input does not end with a newline character, the partial line is included in the last output
file. (Obsolescent)
OPERANDS
The pathname of the file to be split.
If you do not specify an input file, or if you specify -, the standard input is used.
DESCRIPTION
The split command reads file and writes it in number-line pieces (default 1000 lines) to a set of output files.
The size of the output files can be modified by using the -b or -l options. Each output file is created with a unique suffix consisting of
exactly suffix lowercase letters from the POSIX locale. The letters of the suffix are used as if they were a base-26 digit system, with
the first suffix to be created consisting of all a characters, the second with b replacing the last a etc., until a name of all zs is cre-
ated. By default, the names of the output files are x, followed by a two-character suffix from the character set as described above,
starting with aa, ab, ac, etc., and continuing until the suffix zz, for a maximum of 676 files.
The value of prefix cannot be longer than the value of NAME_MAX from <limits.h> minus two.
If the number of files required is greater than the maximum allowed by the effective suffix length (such that the last allowable file would
be larger than the requested size), split fails after creating the last possible file with a valid suffix. The split command will not
delete the files it created with valid suffixes. If the file limit is not exceeded, the last file created contains the remainder of the
input file and thus might be smaller than the requested size.
EXIT STATUS
The following exit values are returned: Successful completion. An error occurred.
EXAMPLES
To split a file into 1000-line segments, enter: split book
This splits book into 1000-line segments named xaa, xab, xac, and so forth. To split a file into 50-line segments and specify the
file name prefix, enter: split -l50 book sect
This splits book into 50-line segments named sectaa, sectab, sectac, and so forth.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of split: Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multibyte characters in arguments and input files). Determines the
locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the
processing of LC_MESSAGES.
SEE ALSO
Commands: bfs(1), csplit(1)
Standards: standards(5)split(1)