[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home |
Legal |
Search ]
Commands Reference, Volume 1
csplit Command
Purpose
Splits files by context.
Syntax
csplit [ -f Prefix ] [ -k ] [ -n Number ] [ -s ] File Argument ...
Description
The csplit command copies the
specified file and separates the copy into segments. The original input file,
which remains unaltered, must be a text file.
The csplit command writes the
segments to files xx00 . . . xx99, depending on how many times the Argument
parameter is specified (99 is the maximum). By default, the Argument parameter expects a line number. The following rules apply when
you specify multiple line numbers:
- File xx00 contains
the lines from the beginning of the original file up to, but not including,
the line number specified in the first Argument parameter.
- File xx01 contains
lines beginning with the number specified by the first Argument parameter up to, but not including, the line referenced by the
second Argument parameter. Each line number specified
as an argument marks the beginning of a new file.
- File xxnn (the last file created) contains lines beginning with the number specified
by the last Argument parameter through the end of
the file.
For example, if the original file had 108 lines and
you entered:
csplit orginal.txt 11 72 98
the csplit command would create
four files: the xx00 file would contain lines 1-10,
the xx01 file would contain lines 11-71, the xx02 file would contain lines 72-97, the xx03 file
would contain lines 98-108.
The Argument parameter can
also contain the following symbols and pattern strings:
/Pattern/ |
Creates a file that contains the segment from the current line up
to, but not including, the line containing the specified pattern. The line
containing the pattern becomes the current line. |
%Pattern% |
Makes the line containing the specified pattern the current line,
but does not create a file for the segment. |
+Number |
Moves forward the specified number of lines from the line matched
by the preceding pattern. For example, /Page/+5 searches for Page, then advances 5 lines. |
-Number |
Moves backward the specified number of lines from the line matched
by the preceding pattern. For example, /Page/-5 searches for Page, then backs up 5 lines. |
{Number} |
Repeats the preceding option the specified number of times. This
number can follow any pattern or line number. If it follows a pattern, the csplit command reuses that pattern the specified number
of times. If it follows a line number, the csplit command
splits the file from that point for the number of lines specified by the line
number. |
Put quotation marks around all patterns that contain
spaces or other characters special to the shell. Patterns may not contain
embedded new-line characters. In an expression such as [a-z], the - (minus sign) means through, according
to the current collating sequence. A collating sequence may define equivalence classes for use in character ranges.
Flags
-f Prefix |
Specifies the prefix to be used for the created file segments. The
default value for this variable is xx. |
-k |
Leaves created file segments intact in the event of an error. |
-n Number |
Changes the number of decimal places used in the created file names.
The default is two decimal places, or xx00 . . . xx99. If you specify the -n 4 flag,
for example, new files are named xx0000 . . . xx0099. |
-s |
Suppresses the display of character counts. |
Exit Status
This command returns the following exit values:
0 |
Successful completion. |
>0 |
An error occurred. |
Examples
- To split the text of book into a separate file for each chapter, enter:
csplit book "/^ Chapter *[k.0-9]k./" {9}
This creates
10 files, xx00 through xx09. The xx00 file contains the front matter that comes before the
first chapter. Files xx01 through xx09 contain individual chapters. Each chapter begins with a line that
contains only the word Chapter and the chapter
number.
- To specify the prefix chap for the files created from book, enter:
csplit -f chap book "/^ Chapter *[k.0-9]k./" {9}
This splits book into files named chap00 through chap09.
Files
/usr/bin/csplit |
Contains the csplit command. |
Related Information
The ed
command, regcmp command, split command.
Files Overview in AIX 5L Version 5.2 System User's Guide: Operating System and Devices
introduces you to files and the way you can work with them.
Shells Overview in AIX 5L Version 5.2 System User's Guide: Operating System and Devices
describes what shells are, the different types of shells, and how shells affect
the way commands are interpreted.
[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home |
Legal |
Search ]