Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ csplit(1) — OSF/1 1.0 (TIN) MIPS

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

/red(1)

sh(1)

split(1)

regexp(3)

csplit(1)  —  Commands

OSF

NAME

csplit − Splits files by context

SYNOPSIS

csplit [-f prefix] [-ks] file | - argument ... 

The csplit command reads the specified file and separates it into segments defined by the specified arguments. 

FLAGS

-f prefixSpecifies the prefix name (xx by default) for the created file segments. 

-kLeaves created file segments intact in the event of an error. 

-sSuppresses the display of character counts. 

DESCRIPTION

If you specify - in place of the input filename, csplit reads from standard input. 

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:

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

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

n+1From the line referenced by the last argument to the end of file. 

The csplit command does not alter the original file. 

The specified arguments can be a combination of the following:

/pattern/
Creates a file containing the segment from the current line up to the line containing pattern, which becomes the current line. 

%pattern%
Makes the line containing pattern the current line, but does not create a file for the segment. 

+number

-numberMoves forward or backward the specified number of lines from the line matched by an immediately preceding pattern argument (for example, /Page/-5). 

line_number
Creates a file containing the segment from the current line up to, but not including, line_number, which becomes the current line. 

{number}
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. 

Quote all pattern arguments that contain spaces or other characters special to the shell.  Patterns may not contain embedded newline characters. 

See grep 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.  See OSF/1 User’s Guide for more information on collating sequences. 

EXAMPLES

     1.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,...,xx9, 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 filenames, enter:

csplit -f chap book "/^ Chapter ∗[0-9]/" {9}

This splits book into files named chap00, chap01,...chap9, chap10. 

RELATED INFORMATION

Commands:  ed(1)/red(1), sh(1), split(1). 

Files: regexp(3). 

OSF/1 User’s Guide. 

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