/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


CSPLIT(1P)                                          POSIX Programmer's Manual                                         CSPLIT(1P)



PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux implementation of this interface may differ (con-
       sult the corresponding Linux manual page for details of Linux behavior), or the  interface  may  not  be  implemented  on
       Linux.

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 created 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 negative integer value rep-
              resenting 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 current 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 number line_no. Lines in the file shall be
              numbered starting at one. The current line becomes line_no.

       {num}  Repeat operand. This operand can follow any of the operands described previously. If it follows a rexp type  oper-
              and,  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 current 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 international-
              ization 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 characters 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 stan-
              dard 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 routines with a '}' at the beginning  of  the
           line, this example creates a file containing 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 generation used by the historical split util-
       ity, 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, Copy-
       right (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.open-
       group.org/unix/online.html .



IEEE/The Open Group                                           2003                                                    CSPLIT(1P)

Valid XHTML 1.0!Valid CSS!