Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

csplit(1)							    csplit(1)


  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 indus-
  try standards	and associated tags.


  -f prefix
      Specifies	the prefix name	(xx by default)	for the	created	file seg-

  -k  Leaves previously	created	file segments intact in	the event of an
      error.  By default, created files	are removed if an error	occurs.

  -n number
      Uses number decimal digits to form file names for	the file pieces. The
      default is 2.

  -s  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


      Moves forward or backward	the specified number of	lines from the line
      matched by an immediately	preceding pattern argument (for	example,

      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:

  00  From the start of	file up	to, but	not including, the line	referenced by
      the first	argument.

  01  From the line referenced by the first argument up	to the line refer-
      enced by the second argument.

  n+1 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" accord-
  ing to the current collating sequence.  The collating	sequence is deter-
  mined	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:

  0   Successful completion.

  >>0  An error occurred.

  Unless the -k	option is used,	any files created before the error was
  detected will	be removed.


   1.  To split	the text of a book into	a separate file	for each chapter,
	    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.

   2.  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.


  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 multi-
      byte characters in arguments and input files) and	the behavior of	char-
      acter classes within regular expressions.

      Determines the locale for	the format and contents	of diagnostic mes-
      sages written to standard	error.

      Determines the location of message catalogues for	the processing of


  Commands:  ed(1), grep(1), sed(1), sh(1b), sh(1p), split(1)

  Files:  regexp(3)

  Standards:  standards(5)