2004-11-03 13:51:07 +00:00
|
|
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
2007-06-20 22:33:04 +00:00
|
|
|
.TH "SPLIT" 1P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" split
|
2007-09-20 06:03:25 +00:00
|
|
|
.SH PROLOG
|
|
|
|
This manual page is part of the POSIX Programmer's Manual.
|
|
|
|
The Linux implementation of this interface may differ (consult
|
|
|
|
the corresponding Linux manual page for details of Linux behavior),
|
|
|
|
or the interface may not be implemented on Linux.
|
2004-11-03 13:51:07 +00:00
|
|
|
.SH NAME
|
|
|
|
split \- split files into pieces
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.LP
|
|
|
|
\fBsplit\fP \fB[\fP\fB-l\fP \fIline_count\fP\fB][\fP\fB-a\fP
|
|
|
|
\fIsuffix_length\fP\fB][\fP\fIfile\fP\fB[\fP\fIname\fP\fB]]\fP\fB
|
|
|
|
.br
|
|
|
|
.sp
|
|
|
|
split -b\fP \fIn\fP\fB[\fP\fBk|m\fP\fB][\fP\fB-a\fP
|
|
|
|
\fIsuffix_length\fP\fB][\fP\fIfile\fP\fB[\fP\fIname\fP\fB]]\fP\fB\fP
|
|
|
|
\fB
|
|
|
|
.br
|
|
|
|
\fP
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
The \fIsplit\fP utility shall read an input file and write one or
|
|
|
|
more output files. The default size of each output file shall
|
|
|
|
be 1000 lines. The size of the output files can be modified by specification
|
|
|
|
of the \fB-b\fP or \fB-l\fP options. Each output
|
|
|
|
file shall be created with a unique suffix. The suffix shall consist
|
|
|
|
of exactly \fIsuffix_length\fP lowercase letters from the
|
|
|
|
POSIX locale. The letters of the suffix shall be used as if they were
|
|
|
|
a base-26 digit system, with the first suffix to be created
|
|
|
|
consisting of all \fB'a'\fP characters, the second with a \fB'b'\fP
|
2007-09-20 06:36:16 +00:00
|
|
|
replacing the last \fB'a'\fP, and so on, until a name
|
2004-11-03 13:51:07 +00:00
|
|
|
of all \fB'z'\fP characters is created. By default, the names of the
|
2007-09-20 06:36:16 +00:00
|
|
|
output files shall be \fB'x'\fP, followed by a
|
2004-11-03 13:51:07 +00:00
|
|
|
two-character suffix from the character set as described above, starting
|
2007-09-20 06:36:16 +00:00
|
|
|
with \fB"aa"\fP, \fB"ab"\fP, \fB"ac"\fP, and
|
|
|
|
so on, and continuing until the suffix \fB"zz"\fP, for a maximum
|
2004-11-03 13:51:07 +00:00
|
|
|
of 676 files.
|
|
|
|
.LP
|
|
|
|
If the number of files required exceeds the maximum allowed by the
|
|
|
|
suffix length provided, such that the last allowable file
|
|
|
|
would be larger than the requested size, the \fIsplit\fP utility shall
|
|
|
|
fail after creating the last file with a valid suffix;
|
|
|
|
\fIsplit\fP shall not delete the files it created with valid suffixes.
|
|
|
|
If the file limit is not exceeded, the last file created
|
|
|
|
shall contain the remainder of the input file, and may be smaller
|
|
|
|
than the requested size.
|
|
|
|
.SH OPTIONS
|
|
|
|
.LP
|
|
|
|
The \fIsplit\fP utility shall conform to the Base Definitions volume
|
|
|
|
of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
|
|
|
|
.LP
|
|
|
|
The following options shall be supported:
|
|
|
|
.TP 7
|
|
|
|
\fB-a\ \fP \fIsuffix_length\fP
|
|
|
|
.sp
|
|
|
|
Use \fIsuffix_length\fP letters to form the suffix portion of the
|
|
|
|
filenames of the split file. If \fB-a\fP is not specified, the
|
|
|
|
default suffix length shall be two. If the sum of the \fIname\fP operand
|
|
|
|
and the \fIsuffix_length\fP option-argument would create
|
|
|
|
a filename exceeding {NAME_MAX} bytes, an error shall result; \fIsplit\fP
|
|
|
|
shall exit with a diagnostic message and no files shall
|
|
|
|
be created.
|
|
|
|
.TP 7
|
|
|
|
\fB-b\ \fP \fIn\fP
|
|
|
|
Split a file into pieces \fIn\fP bytes in size.
|
|
|
|
.TP 7
|
|
|
|
\fB-b\ \fP \fIn\fP\fBk\fP
|
|
|
|
Split a file into pieces \fIn\fP*1024 bytes in size.
|
|
|
|
.TP 7
|
|
|
|
\fB-b\ \fP \fIn\fP\fBm\fP
|
|
|
|
Split a file into pieces \fIn\fP*1048576 bytes in size.
|
|
|
|
.TP 7
|
|
|
|
\fB-l\ \fP \fIline_count\fP
|
|
|
|
Specify the number of lines in each resulting file piece. The \fIline_count\fP
|
|
|
|
argument is an unsigned decimal integer. The
|
|
|
|
default is 1000. If the input does not end with a <newline>, the partial
|
|
|
|
line shall be included in the last output file.
|
|
|
|
.sp
|
|
|
|
.SH OPERANDS
|
|
|
|
.LP
|
|
|
|
The following operands shall be supported:
|
|
|
|
.TP 7
|
|
|
|
\fIfile\fP
|
|
|
|
The pathname of the ordinary file to be split. If no input file is
|
2007-09-20 06:36:16 +00:00
|
|
|
given or \fIfile\fP is \fB'-'\fP, the standard input
|
2004-11-03 13:51:07 +00:00
|
|
|
shall be used.
|
|
|
|
.TP 7
|
|
|
|
\fIname\fP
|
|
|
|
The prefix to be used for each of the files resulting from the split
|
|
|
|
operation. If no \fIname\fP argument is given,
|
|
|
|
\fB'x'\fP shall be used as the prefix of the output files. The combined
|
|
|
|
length of the basename of \fIprefix\fP and
|
|
|
|
\fIsuffix_length\fP cannot exceed {NAME_MAX} bytes. See the OPTIONS
|
|
|
|
section.
|
|
|
|
.sp
|
|
|
|
.SH STDIN
|
|
|
|
.LP
|
|
|
|
See the INPUT FILES section.
|
|
|
|
.SH INPUT FILES
|
|
|
|
.LP
|
|
|
|
Any file can be used as input.
|
|
|
|
.SH ENVIRONMENT VARIABLES
|
|
|
|
.LP
|
|
|
|
The following environment variables shall affect the execution of
|
|
|
|
\fIsplit\fP:
|
|
|
|
.TP 7
|
|
|
|
\fILANG\fP
|
|
|
|
Provide a default value for the internationalization variables that
|
|
|
|
are unset or null. (See the Base Definitions volume of
|
|
|
|
IEEE\ Std\ 1003.1-2001, Section 8.2, Internationalization Variables
|
|
|
|
for
|
|
|
|
the precedence of internationalization variables used to determine
|
|
|
|
the values of locale categories.)
|
|
|
|
.TP 7
|
|
|
|
\fILC_ALL\fP
|
|
|
|
If set to a non-empty string value, override the values of all the
|
|
|
|
other internationalization variables.
|
|
|
|
.TP 7
|
|
|
|
\fILC_CTYPE\fP
|
|
|
|
Determine the locale for the interpretation of sequences of bytes
|
|
|
|
of text data as characters (for example, single-byte as
|
|
|
|
opposed to multi-byte characters in arguments and input files).
|
|
|
|
.TP 7
|
|
|
|
\fILC_MESSAGES\fP
|
|
|
|
Determine the locale that should be used to affect the format and
|
|
|
|
contents of diagnostic messages written to standard
|
|
|
|
error.
|
|
|
|
.TP 7
|
|
|
|
\fINLSPATH\fP
|
|
|
|
Determine the location of message catalogs for the processing of \fILC_MESSAGES
|
|
|
|
\&.\fP
|
|
|
|
.sp
|
|
|
|
.SH ASYNCHRONOUS EVENTS
|
|
|
|
.LP
|
|
|
|
Default.
|
|
|
|
.SH STDOUT
|
|
|
|
.LP
|
|
|
|
Not used.
|
|
|
|
.SH STDERR
|
|
|
|
.LP
|
|
|
|
The standard error shall be used only for diagnostic messages.
|
|
|
|
.SH OUTPUT FILES
|
|
|
|
.LP
|
|
|
|
The output files contain portions of the original input file; otherwise,
|
|
|
|
unchanged.
|
|
|
|
.SH EXTENDED DESCRIPTION
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH EXIT STATUS
|
|
|
|
.LP
|
|
|
|
The following exit values shall be returned:
|
|
|
|
.TP 7
|
|
|
|
\ 0
|
|
|
|
Successful completion.
|
|
|
|
.TP 7
|
|
|
|
>0
|
|
|
|
An error occurred.
|
|
|
|
.sp
|
|
|
|
.SH CONSEQUENCES OF ERRORS
|
|
|
|
.LP
|
|
|
|
Default.
|
|
|
|
.LP
|
|
|
|
\fIThe following sections are informative.\fP
|
|
|
|
.SH APPLICATION USAGE
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH EXAMPLES
|
|
|
|
.LP
|
|
|
|
In the following examples \fBfoo\fP is a text file that contains 5000
|
|
|
|
lines.
|
|
|
|
.IP " 1." 4
|
|
|
|
Create five files, \fBxaa\fP, \fBxab\fP, \fBxac\fP, \fBxad\fP, and
|
|
|
|
\fBxae\fP:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBsplit foo
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
.IP " 2." 4
|
|
|
|
Create five files, but the suffixed portion of the created files consists
|
|
|
|
of three letters, \fBxaaa\fP, \fBxaab\fP,
|
|
|
|
\fBxaac\fP, \fBxaad\fP, and \fBxaae\fP:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBsplit -a 3 foo
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
.IP " 3." 4
|
|
|
|
Create three files with four-letter suffixes and a supplied prefix,
|
|
|
|
\fBbar_aaaa\fP, \fBbar_aaab\fP, and \fBbar_aaac\fP:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBsplit -a 4 -l 2000 foo bar_
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
.IP " 4." 4
|
|
|
|
Create as many files as are necessary to contain at most 20*1024 bytes,
|
|
|
|
each with the default prefix of \fBx\fP and a
|
|
|
|
five-letter suffix:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBsplit -a 5 -b 20k foo
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
.SH RATIONALE
|
|
|
|
.LP
|
|
|
|
The \fB-b\fP option was added to provide a mechanism for splitting
|
|
|
|
files other than by lines. While most uses of the \fB-b\fP
|
|
|
|
option are for transmitting files over networks, some believed it
|
|
|
|
would have additional uses.
|
|
|
|
.LP
|
|
|
|
The \fB-a\fP option was added to overcome the limitation of being
|
|
|
|
able to create only 676 files.
|
|
|
|
.LP
|
|
|
|
Consideration was given to deleting this utility, using the rationale
|
|
|
|
that the functionality provided by this utility is
|
|
|
|
available via the \fIcsplit\fP utility (see \fIcsplit\fP ). Upon
|
|
|
|
reconsideration of the purpose of the User Portability Extension,
|
|
|
|
it was decided to retain both this utility and the \fIcsplit\fP utility
|
|
|
|
because users use both utilities and have historical expectations
|
|
|
|
of their
|
|
|
|
behavior. Furthermore, the splitting on byte boundaries in \fIsplit\fP
|
|
|
|
cannot be duplicated with the historical \fIcsplit\fP.
|
|
|
|
.LP
|
|
|
|
The text " \fIsplit\fP shall not delete the files it created with
|
|
|
|
valid suffixes" would normally be assumed, but since the
|
|
|
|
related utility, \fIcsplit\fP, does delete files under some circumstances,
|
|
|
|
the historical
|
|
|
|
behavior of \fIsplit\fP is made explicit to avoid misinterpretation.
|
|
|
|
.SH FUTURE DIRECTIONS
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.LP
|
|
|
|
\fIcsplit\fP
|
|
|
|
.SH COPYRIGHT
|
|
|
|
Portions of this text are reprinted and reproduced in electronic form
|
|
|
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
|
|
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
|
|
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
|
|
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
|
|
|
event of any discrepancy between this version and the original IEEE and
|
|
|
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
|
|
|
is the referee document. The original Standard can be obtained online at
|
|
|
|
http://www.opengroup.org/unix/online.html .
|