CSPLIT(P) CSPLIT(P)
NAME
csplit - split files based on context
SYNOPSIS
csplit [-ks][-f prefix][-n number] file arg1 ...argn
DESCRIPTION
The csplit utility shall read the file named by the file operand, write all or part
of that file into other files as directed by the arg operands, and write the sizes
of the files.
OPTIONS
The csplit utility shall conform to the Base Definitions volume of
IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
The following options shall be supported:
-f prefix
Name the created files prefix 00, prefix 01, ..., prefixn. The default is
xx00 ... xx n. If the prefix argument would create a filename exceeding
{NAME_MAX} bytes, an error shall result, csplit shall exit with a diagnostic
message, and no files shall be created.
-k Leave previously created files intact. By default, csplit shall remove cre-
ated files if an error occurs.
-n number
Use number decimal digits to form filenames for the file pieces. The
default shall be 2.
-s Suppress the output of file size messages.
OPERANDS
The following operands shall be supported:
file The pathname of a text file to be split. If file is â€â€™-â€â€™ , the standard input
shall be used.
The operands arg1 ... argn can be a combination of the following:
/rexp/[offset]
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 offset, if any, applied. The regular expression rexp
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 "\/" to specify a slash
character within the rexp. The optional offset shall be a positive or nega-
tive integer value representing a number of lines. A positive integer value
can be preceded by â€â€™+â€â€™ . If the selection of lines from an offset 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 rexp
shall be applied from the current line to the end of the file. Otherwise,
the pattern match of rexp shall be applied from the line following the cur-
rent line to the end of the file.
%rexp%[offset]
Equivalent to /rexp/[offset], except that no file shall be created for the
selected section of the input file. The application shall use the sequence
"\%" to specify a percent-sign character within the rexp.
line_no
Create a file from the current line up to (but not including) the line num-
ber line_no. Lines in the file shall be numbered starting at one. The cur-
rent line becomes line_no.
{num} Repeat operand. This operand can follow any of the operands described previ-
ously. If it follows a rexp type operand, that operand shall be applied num
more times. If it follows a line_no operand, the file shall be split every
line_no lines, num times, from that point.
An error shall be reported if an operand does not reference a line between the cur-
rent position and the end of the file.
STDIN
See the INPUT FILES section.
INPUT FILES
The input file shall be a text file.
ENVIRONMENT VARIABLES
The following environment variables shall affect the execution of csplit:
LANG 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 interna-
tionalization variables used to determine the values of locale categories.)
LC_ALL If set to a non-empty string value, override the values of all the other
internationalization variables.
LC_COLLATE
Determine the locale for the behavior of ranges, equivalence classes, and
multi-character collating elements within regular expressions.
LC_CTYPE
Determine the locale for the interpretation of sequences of bytes of text
data as characters (for example, single-byte as opposed to multi-byte char-
acters in arguments and input files) and the behavior of character classes
within regular expressions.
LC_MESSAGES
Determine the locale that should be used to affect the format and contents
of diagnostic messages written to standard error.
NLSPATH
Determine the location of message catalogs for the processing of LC_MESSAGES
.
ASYNCHRONOUS EVENTS
If the -k option is specified, created files shall be retained. Otherwise, the
default action occurs.
STDOUT
Unless the -s option is used, the standard output shall consist of one line per
file created, with a format as follows:
"%d\n", <file size in bytes>
STDERR
The standard error shall be used only for diagnostic messages.
OUTPUT FILES
The output files shall contain portions of the original input file; otherwise,
unchanged.
EXTENDED DESCRIPTION
None.
EXIT STATUS
The following exit values shall be returned:
0 Successful completion.
>0 An error occurred.
CONSEQUENCES OF ERRORS
By default, created files shall be removed if an error occurs. When the -k option
is specified, created files shall not be removed if an error occurs.
The following sections are informative.
APPLICATION USAGE
None.
EXAMPLES
1. This example creates four files, cobol00 ... cobol03:
csplit -f cobol file â€â€™/procedure division/â€â€™ /par5./ /par16./
After editing the split files, they can be recombined as follows:
cat cobol0[0-3] > file
Note that this example overwrites the original file.
2. 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:
csplit -k file 100 {99}
3. Assuming that prog.c follows the C-language coding convention of ending rou-
tines with a â€â€™}â€â€™ at the beginning of the line, this example creates a file con-
taining each separate C routine (up to 21) in prog.c:
csplit -k prog.c â€â€™%main(%â€â€™ â€â€™/^}/+1â€â€™ {20}
RATIONALE
The -n option was added to extend the range of filenames that could be handled.
Consideration was given to adding a -a flag to use the alphabetic filename genera-
tion used by the historical split utility, but the functionality added by the -n
option was deemed to make alphabetic naming unnecessary.
FUTURE DIRECTIONS
None.
SEE ALSO
sed , split
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 .
POSIX 2003 CSPLIT(P)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-08 04:25 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)