Linux csplit command
Updated: 04/26/2017 by Computer Hope
About csplit
csplit splits a file into sections, based on context lines.
Description
Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output.
csplit syntax
csplit [OPTION]... FILE PATTERN...
Options
-b, --suffix-format=FORMAT | use sprintf FORMAT instead of %02d. |
-f, --prefix=PREFIX | use PREFIX instead of 'xx'. |
-k, --keep-files | do not remove output files on errors. |
-n, --digits=DIGITS | use specified number of digits instead of 2. |
-s, --quiet, --silent | do not print counts of output file sizes. |
-z, --elide-empty-files | remove empty output files. |
--help | display a help message and exit. |
--version | output version information and exit. |
csplit reads standard input if FILE is specified as a dash ("-"). Each PATTERN may be:
INTEGER | copy up to but not including specified line number. |
/REGEXP/[OFFSET] | copy up to but not including a matching line. |
%REGEXP%[OFFSET] | skip to, but not including a matching line. |
{INTEGER} | repeat the previous pattern specified number of times. |
{*} | repeat the previous pattern as many times as possible. |
A line OFFSET is a required '+' or '-' followed by a positive integer.
csplit examples
csplit -f cobol filename '/procedure division/' /par5./ /par16./
Creates four files, cobol00...cobol03.
After editing the split files, they can be recombined into filename using the cat command as follows:
cat cobol0[0-3] > filename
Related commands
cat — Output the contents of a file.
sed — A utility for filtering and transforming text.
split — Split a file into pieces.