Computer Science
CSPLIT(1) CSPLIT(1)
NAME
csplit - split a file into sections determined by context
lines
SYNOPSIS
csplit [-sqkz] [-f prefix] [-b suffix] [-n digits] [--pre-
fix=prefix] [--suffix-format=suffix] [--digits=digits]
[--quiet] [--silent] [--keep-files] [--elide-empty-files]
[--help] [--version] file pattern...
DESCRIPTION
This manual page documents the GNU version of csplit.
csplit creates zero or more output files containing sec-
tions of the given input file, or the standard input if
the name `-' is given. By default, csplit prints the num-
ber of bytes written to each output file after it has been
created.
The contents of the output files are determined by the
pattern arguments. An error occurs if a pattern argument
refers to a nonexistent line of the input file, such as if
no remaining line matches a given regular expression.
After all the given patterns have been matched, any
remaining output is copied into one last output file. The
types of pattern arguments are:
line
Create an output file containing the current
line up to (but not including) line line (a
positive integer) of the input file. If
followed by a repeat count, also create an
output file containing the next line lines
of the input file once for each repeat.
/regexp/[offset]
Create an output file containing the current
line up to (but not including) the next line
of the input file that contains a match for
regexp. The optional offset is a `+' or `-'
followed by a positive integer. If it is
given, the input up to the matching line
plus or minus offset is put into the output
file, and the line after that begins the
next section of input.
%regexp%[offset]
Like the previous type, except that it does
not create an output file, so that section
of the input file is effectively ignored.
{repeat-count}
Repeat the previous pattern repeat-count (a
positive integer) additional times. An
asterisk may be given in place of the (inte-
ger) repeat count, in which case the pre-
ceeding pattern is repeated as many times as
necessary until the input is exausted.
The output file names consist of a prefix followed by a
suffix. By default, the suffix is merely an ascending
linear sequence of two-digit decimal numbers starting with
00 and ranging up to 99, however this default may be over-
ridden by either the --digits option or by the --suf-
fix-format option. (See below.) In any case, concatenat-
ing the output files in sorted order by file name produces
the original input file, in order. The default output
file name prefix is `xx'.
By default, if csplit encounters an error or receives a
hangup, interrupt, quit, or terminate signal, it removes
any output files that it has created so far before it
exits.
OPTIONS
-f, --prefix=prefix
Use prefix as the output file name prefix string.
-b, --suffix-format=suffix
Use suffix as the output file name suffix string.
When this option is specified, the suffix string
must include exactly one printf(3) style conversion
specification (such as %d, possibly including for-
mat specification flags, a field width, a precision
specifications, or all of these kinds of modi-
fiers). The conversion specification must be suit-
able for converting a binary integer argument to
readable form. Thus, only `d', 'i', `u', `o', `x',
and `X' format specifiers are allowed. The entire
suffix string is given (with the current output
file number) to sprintf(3) to form the file name
suffixes for each of the individual output files in
turn. Note that when this option is used, the
--digits option is ignored.
-n, --digits=digits
Use output file names containing numbers that are
digits digits long instead of the default 2.
-k, --keep-files
Do not remove output files when errors are encoun-
tered.
-z, --elide-empty-files
Suppress the generation of zero-length output
files. (In cases where the section delimiters of
the input file are supposed to mark the first lines
of each of the sections, the first output file will
generally be a zero-length file unless you use this
option.) Note that the output file sequence num-
bers will always run consecutively, starting from
0, even in cases where zero-length output sections
are suppressed due to the use of this option.
-s, -q, --silent, --quiet
Do not print counts of output file sizes.
--help Print a usage message and exit with a status code
indicating success.
--version
Print version information on standard output then
exit.
FSF GNU Text Utilities 1
Back to the index