Your company here — click to reach over 10,000 unique daily visitors

csplit - Man Page

split a file into sections determined by context lines

Examples (TL;DR)


csplit [OPTION]... FILE PATTERN...


Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output.

Read standard input if FILE is -

Mandatory arguments to long options are mandatory for short options too.

-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


suppress the lines matching PATTERN

-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

suppress empty output files


display this help and exit


output version information and exit

Each PATTERN may be


copy up to but not including specified line number


copy up to but not including a matching line


skip to, but not including a matching line


repeat the previous pattern specified number of times


repeat the previous pattern as many times as possible

A line OFFSET is an integer optionally preceded by '+' or '-'


Written by Stuart Kemp and David MacKenzie.

Reporting Bugs

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

See Also

Full documentation <https://www.gnu.org/software/coreutils/csplit>
or available locally via: info '(coreutils) csplit invocation'


July 2024 GNU coreutils 9.5