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 "CSPLIT" 1P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
2004-11-03 13:51:07 +00:00
|
|
|
.\" csplit
|
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
|
|
|
|
csplit \- split files based on context
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.LP
|
|
|
|
\fBcsplit\fP \fB[\fP\fB-ks\fP\fB][\fP\fB-f\fP \fIprefix\fP\fB][\fP\fB-n\fP
|
|
|
|
\fInumber\fP\fB]\fP \fIfile arg1\fP \fB...\fP\fIargn\fP\fB\fP
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.LP
|
|
|
|
The \fIcsplit\fP utility shall read the file named by the \fIfile\fP
|
|
|
|
operand, write all or part of that file into other files
|
|
|
|
as directed by the \fIarg\fP operands, and write the sizes of the
|
|
|
|
files.
|
|
|
|
.SH OPTIONS
|
|
|
|
.LP
|
|
|
|
The \fIcsplit\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-f\ \fP \fIprefix\fP
|
|
|
|
Name the created files \fIprefix\fP \fB00\fP, \fIprefix\fP \fB01\fP,
|
|
|
|
\&..., \fIprefixn\fP. The default is \fBxx00\fP ...
|
|
|
|
\fBxx\fP \fIn\fP. If the \fIprefix\fP argument would create a filename
|
|
|
|
exceeding {NAME_MAX} bytes, an error shall result,
|
|
|
|
\fIcsplit\fP shall exit with a diagnostic message, and no files shall
|
|
|
|
be created.
|
|
|
|
.TP 7
|
|
|
|
\fB-k\fP
|
|
|
|
Leave previously created files intact. By default, \fIcsplit\fP shall
|
|
|
|
remove created files if an error occurs.
|
|
|
|
.TP 7
|
|
|
|
\fB-n\ \fP \fInumber\fP
|
|
|
|
Use \fInumber\fP decimal digits to form filenames for the file pieces.
|
|
|
|
The default shall be 2.
|
|
|
|
.TP 7
|
|
|
|
\fB-s\fP
|
|
|
|
Suppress the output of file size messages.
|
|
|
|
.sp
|
|
|
|
.SH OPERANDS
|
|
|
|
.LP
|
|
|
|
The following operands shall be supported:
|
|
|
|
.TP 7
|
|
|
|
\fIfile\fP
|
2007-09-20 17:56:19 +00:00
|
|
|
The pathname of a text file to be split. If \fIfile\fP is \fB'-'\fP,
|
|
|
|
the standard input shall be used.
|
2004-11-03 13:51:07 +00:00
|
|
|
.sp
|
|
|
|
.LP
|
|
|
|
The operands \fIarg1\fP ... \fIargn\fP can be a combination of the
|
|
|
|
following:
|
|
|
|
.TP 7
|
|
|
|
/\fIrexp\fP/\fB[\fP\fIoffset\fP\fB]\fP
|
|
|
|
.sp
|
|
|
|
A file shall be created using the content of the lines from the current
|
|
|
|
line up to, but not including, the line that results from
|
|
|
|
the evaluation of the regular expression with \fIoffset\fP, if any,
|
|
|
|
applied. The regular expression \fIrexp\fP shall follow the
|
|
|
|
rules for basic regular expressions described in the Base Definitions
|
|
|
|
volume of IEEE\ Std\ 1003.1-2001, Section 9.3, Basic Regular Expressions.
|
|
|
|
The application shall use the sequence
|
|
|
|
\fB"\\/"\fP to specify a slash character within the \fIrexp\fP. The
|
|
|
|
optional offset shall be a positive or negative integer
|
|
|
|
value representing a number of lines. A positive integer value can
|
|
|
|
be preceded by \fB'+'\fP . If the selection of lines from an
|
|
|
|
\fIoffset\fP expression of this type would create a file with zero
|
|
|
|
lines, or one with greater than the number of lines left in the
|
|
|
|
input file, the results are unspecified. After the section is created,
|
|
|
|
the current line shall be set to the line that results from
|
|
|
|
the evaluation of the regular expression with any offset applied.
|
|
|
|
If the current line is the first line in the file and a regular
|
|
|
|
expression operation has not yet been performed, the pattern match
|
|
|
|
of \fIrexp\fP shall be applied from the current line to the end
|
|
|
|
of the file. Otherwise, the pattern match of \fIrexp\fP shall be applied
|
|
|
|
from the line following the current line to the end of
|
|
|
|
the file.
|
|
|
|
.TP 7
|
|
|
|
%\fIrexp\fP%\fB[\fP\fIoffset\fP\fB]\fP
|
|
|
|
.sp
|
|
|
|
Equivalent to /\fIrexp\fP/\fB[\fP\fIoffset\fP\fB]\fP, except that
|
|
|
|
no file shall be created for the selected section of the
|
|
|
|
input file. The application shall use the sequence \fB"\\%"\fP to
|
|
|
|
specify a percent-sign character within the \fIrexp\fP.
|
|
|
|
.TP 7
|
|
|
|
\fIline_no\fP
|
|
|
|
Create a file from the current line up to (but not including) the
|
|
|
|
line number \fIline_no\fP. Lines in the file shall be
|
|
|
|
numbered starting at one. The current line becomes \fIline_no\fP.
|
|
|
|
.TP 7
|
|
|
|
{\fInum\fP}
|
|
|
|
Repeat operand. This operand can follow any of the operands described
|
|
|
|
previously. If it follows a \fIrexp\fP type operand,
|
|
|
|
that operand shall be applied \fInum\fP more times. If it follows
|
|
|
|
a \fIline_no\fP operand, the file shall be split every
|
|
|
|
\fIline_no\fP lines, \fInum\fP times, from that point.
|
|
|
|
.sp
|
|
|
|
.LP
|
|
|
|
An error shall be reported if an operand does not reference a line
|
|
|
|
between the current position and the end of the file.
|
|
|
|
.SH STDIN
|
|
|
|
.LP
|
|
|
|
See the INPUT FILES section.
|
|
|
|
.SH INPUT FILES
|
|
|
|
.LP
|
|
|
|
The input file shall be a text file.
|
|
|
|
.SH ENVIRONMENT VARIABLES
|
|
|
|
.LP
|
|
|
|
The following environment variables shall affect the execution of
|
|
|
|
\fIcsplit\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_COLLATE\fP
|
|
|
|
.sp
|
|
|
|
Determine the locale for the behavior of ranges, equivalence classes,
|
|
|
|
and multi-character collating elements within regular
|
|
|
|
expressions.
|
|
|
|
.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) and
|
|
|
|
the behavior of character classes within regular
|
|
|
|
expressions.
|
|
|
|
.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
|
|
|
|
If the \fB-k\fP option is specified, created files shall be retained.
|
|
|
|
Otherwise, the default action occurs.
|
|
|
|
.SH STDOUT
|
|
|
|
.LP
|
|
|
|
Unless the \fB-s\fP option is used, the standard output shall consist
|
|
|
|
of one line per file created, with a format as
|
|
|
|
follows:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fB"%d\\n", <\fP\fIfile size in bytes\fP\fB>
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.SH STDERR
|
|
|
|
.LP
|
|
|
|
The standard error shall be used only for diagnostic messages.
|
|
|
|
.SH OUTPUT FILES
|
|
|
|
.LP
|
|
|
|
The output files shall 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
|
|
|
|
By default, created files shall be removed if an error occurs. When
|
|
|
|
the \fB-k\fP option is specified, created files shall not
|
|
|
|
be removed if an error occurs.
|
|
|
|
.LP
|
|
|
|
\fIThe following sections are informative.\fP
|
|
|
|
.SH APPLICATION USAGE
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH EXAMPLES
|
|
|
|
.IP " 1." 4
|
|
|
|
This example creates four files, \fBcobol00\fP ... \fBcobol03\fP:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBcsplit -f cobol file '/procedure division/' /par5./ /par16./
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
After editing the split files, they can be recombined as follows:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBcat cobol0[0-3] > file
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
Note that this example overwrites the original file.
|
|
|
|
.LP
|
|
|
|
.IP " 2." 4
|
|
|
|
This example would split the file after the first 99 lines, and every
|
|
|
|
100 lines thereafter, up to 9999 lines; this is because
|
|
|
|
lines in the file are numbered from 1 rather than zero, for historical
|
|
|
|
reasons:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBcsplit -k file 100 {99}
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
.IP " 3." 4
|
|
|
|
Assuming that \fBprog.c\fP follows the C-language coding convention
|
|
|
|
of ending routines with a \fB'}'\fP at the beginning of
|
|
|
|
the line, this example creates a file containing each separate C routine
|
|
|
|
(up to 21) in \fBprog.c\fP:
|
|
|
|
.sp
|
|
|
|
.RS
|
|
|
|
.nf
|
|
|
|
|
|
|
|
\fBcsplit -k prog.c '%main(%' '/^}/+1' {20}
|
|
|
|
\fP
|
|
|
|
.fi
|
|
|
|
.RE
|
|
|
|
.LP
|
|
|
|
.SH RATIONALE
|
|
|
|
.LP
|
|
|
|
The \fB-n\fP option was added to extend the range of filenames that
|
|
|
|
could be handled.
|
|
|
|
.LP
|
|
|
|
Consideration was given to adding a \fB-a\fP flag to use the alphabetic
|
|
|
|
filename generation used by the historical \fIsplit\fP utility, but
|
|
|
|
the functionality added by the \fB-n\fP option was deemed to make
|
|
|
|
alphabetic naming unnecessary.
|
|
|
|
.SH FUTURE DIRECTIONS
|
|
|
|
.LP
|
|
|
|
None.
|
|
|
|
.SH SEE ALSO
|
|
|
|
.LP
|
2007-09-20 06:36:16 +00:00
|
|
|
\fIsed\fP, \fIsplit\fP
|
2004-11-03 13:51:07 +00:00
|
|
|
.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 .
|