diff options
Diffstat (limited to 'man1p/split.1p')
-rw-r--r-- | man1p/split.1p | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/man1p/split.1p b/man1p/split.1p new file mode 100644 index 000000000..ac9fe5538 --- /dev/null +++ b/man1p/split.1p @@ -0,0 +1,258 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "SPLIT" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" split +.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 +replacing the last \fB'a'\fP , and so on, until a name +of all \fB'z'\fP characters is created. By default, the names of the +output files shall be \fB'x'\fP , followed by a +two-character suffix from the character set as described above, starting +with \fB"aa"\fP , \fB"ab"\fP , \fB"ac"\fP , and +so on, and continuing until the suffix \fB"zz"\fP , for a maximum +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 +given or \fIfile\fP is \fB'-'\fP , the standard input +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 . |