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: XCU5.0
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.
[Tru64 UNIX] 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}
This creates files named xx00, xx01, xx02,...,xx09,
which contain individual chapters of the file book.
Each chapter begins with a line that contains only
the word Chapter and the chapter number. The file
xx00 contains the front matter that comes before
the first chapter. The {9} after the pattern causes
csplit to create up to 9 individual chapters; the
remainder are placed in xx10. To specify the prefix
for the created file names, enter: csplit -f
chap book "/^Chapter *[0-9]/" {9}
This splits book into files named chap00,
chap01,...chap9, chap10.
ENVIRONMENT VARIABLES [Toc] [Back] 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)
csplit(1)
[ Back ] |