Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  CSPLIT(1)   (Directory and File Management Utilities)   CSPLIT(1)



  NAME
       csplit - context split

  SYNOPSIS
       csplit [-s] [-k] [-f prefix] file arg1 [... argn]

  DESCRIPTION
       csplit reads file and separates it into n+1 sections,
       defined by the arguments arg1...  argn.  By default, the
       sections are placed in xx00 ...  xxn (n may not be greater
       than 99).  These sections get the following pieces of file:

             00:   From the start of file up to (but not including)
                   the line referenced by arg1.
             01:   From the line referenced by arg1 up to the line
                   referenced by arg2.
                   .
                   .
                   .
             n+1:  From the line referenced by argn to the end of
                   file.

       If the file argument is a -, standard input is used.

       The options to csplit are:

             -s         csplit normally prints the character counts
                        for each file created.  If the -s option is
                        present, csplit suppresses the printing of
                        all character counts.

             -k         csplit normally removes created files if an
                        error occurs.  If the -k option is present,
                        csplit leaves previously created files
                        intact.

             -f prefix  If the -f option is used, the created files
                        are named prefix00 ... prefixn.  The
                        default is xx00 ...  xxn.



  Page 1                                                   May 1989


















  CSPLIT(1)   (Directory and File Management Utilities)   CSPLIT(1)



       The arguments (arg1 ...  argn) to csplit can be a
       combination of the following:

             /rexp/  A file is to be created for the section from
                     the current line up to (but not including) the
                     line containing the regular expression rexp.
                     The current line becomes the line containing
                     rexp.  This argument may be followed by an
                     optional + or - some number of lines (e.g.,
                     /Page/-5).

             %rexp%  This argument is the same as /rexp/, except
                     that no file is created for the section.

             lnno    A file is to be created from the current line
                     up to (but not including) lnno.  The current
                     line becomes lnno.

             {num}   Repeat argument.  This argument may follow any
                     of the above arguments.  If it follows a rexp
                     type argument, that argument is applied num
                     more times.  If it follows lnno, the file will
                     be split every lnno lines (num times) from
                     that point.

       Enclose all rexp type arguments that contain blanks or other
       characters meaningful to the shell in the appropriate
       quotes.  Regular expressions may not contain embedded new-
       lines.  csplit does not affect the original file; it is the
       users responsibility to remove it.

  EXAMPLES
            csplit -f cobol file  '/procedure division/'  /par5./  /par16./

       This example creates four files, cobol00 ... cobol03.  After
       editing the ``split'' files, they can be recombined as
       follows:

            cat cobol0[0-3] > file



  Page 2                                                   May 1989


















  CSPLIT(1)   (Directory and File Management Utilities)   CSPLIT(1)



       Note that this example overwrites the original file.

            csplit -k file  100  {99}

       This example would split the file at every 100 lines, up to
       10,000 lines.  The -k option causes the created files to be
       retained if there are less than 10,000 lines; however, an
       error message would still be printed.

            csplit -k prog.c  '%main(%'  '/^}/+1'  {20}

       Assuming that prog.c follows the normal C coding convention
       of ending routines with a } at the beginning of the line,
       this example will create a file containing each separate C
       routine (up to 21) in prog.c.

  SEE ALSO
       ed(1), sh(1), split(1).
       regexp(5) in the Programmer's Reference Manual.

  DIAGNOSTICS
       Self-explanatory except for:
            arg - out of range
       which means that the given argument did not reference a line
       between the current position and the end of the file.

















  Page 3                                                   May 1989
















Typewritten Software • bear@typewritten.org • Edmonds, WA 98026