Content-type: text/html
csplit - Splits files by context
csplit [-f prefix] [-ks] [-nnumber] file|- arg1...argn
The
csplit
command reads the specified file (or standard
input) and separates it into segments defined by the specified arguments.
The
csplit
command optionally prints the sizes, in bytes,
of each file created.
Interfaces documented on this reference page conform to industry standards as follows:
csplit: XPG4, XPG4-UNIX
Refer to the
standards(5)
reference page for more information
about industry standards and associated tags.
Specifies the prefix name (xx
by default)
for the created file segments.
Leaves previously created file segments intact in the event
of an error. By default, created files are removed if an error occurs.
Uses
number
decimal digits to form
file names for the file pieces. The default is 2.
Suppresses the display of file size messages.
Specifies the text file to be split. If you specify - in place of the input file name, csplit reads from standard input.
The operands
arg1...argn
can be a combination
of the following:
Creates a file using the contents of the lines from the current
line up to, but not including, the line that results from the evaluation of
the regular expression with an offset, if included. The
offset
argument can be any integer (positive or negative) that represents
a number of lines. A plus or minus sign is required.
Has the same effect as
/pattern/, except that no segment file is created.
Moves forward or backward the specified number of lines from
the line matched by an immediately preceding
pattern
argument (for example,
/Page/-5).
Creates a file containing the segment from the current line
up to, but not including,
line_number, which becomes
the current line.
Repeats the preceding argument the specified number of times.
This number can follow any of the
pattern
or
line_number
arguments. If it follows a
pattern
argument,
csplit
reuses that pattern the
specified number of times. If it follows a
line_number
argument,
csplit
splits the file from that point every
line_number
of lines for
number
times.
By default, csplit writes the file segments to files named xx00 ...xxn, where n is the number of arguments listed on the command line (n may not be greater than 99). These new files get the following pieces of file: From the start of file up to, but not including, the line referenced by the first argument. From the line referenced by the first argument up to the line referenced by the second argument. From the line referenced by the last argument to the end of file.
The csplit command does not alter the original file, unless a generated file overwrites the original file.
Quote all pattern arguments that contain spaces or other characters special to the shell. Patterns may not contain embedded newline characters.
[Compaq] See the grep(1) reference page for information about creating patterns. In an expression such as [a-z], the dash means ``through'' according to the current collating sequence. The collating sequence is determined by the value of the LC_COLLATE environment variable.
Unless the
-s
option is specified,
csplit
writes one line, containing the file size in bytes, for each file created
to standard output.
The following exit values are returned: Successful completion. An error occurred.
Unless the
-k
option is used, any files created before
the error was detected will be removed.
To split the text of a book into a separate file for each chapter, enter: csplit book "/^Chapter *[0-9]/" {9}
The following environment variables affect the execution of
csplit:
Provides a default value for the internationalization variables
that are unset or null. If
LANG
is unset or null, the corresponding value from the default locale is used.
If any of the internationalization variables contain an invalid setting, the
utility behaves as if none of the variables had been defined.
If set to a non-empty string value, overrides the values of
all the other internationalization variables.
Determines the locale for the behavior of ranges, equivalence
classes, and multicharacter collating elements within regular expressions.
Determines the locale for the interpretation of sequences
of bytes of text data as characters (for example, single-byte as opposed to
multibyte characters in arguments and input files) and the behavior of character
classes within regular expressions.
Determines the locale for the format and contents of diagnostic
messages written to standard error.
Determines the location of message catalogues for the processing
of
LC_MESSAGES.
Commands: ed(1), grep(1), sed(1), sh(1b), sh(1p), split(1)
Files: regexp(3)
Standards: standards(5)