csplit - Man Page
split a file into sections determined by context lines
Examples (TL;DR)
- Split a file at lines 5 and 23:
csplit path/to/file 5 23
- Split a file every 5 lines (this will fail if the total number of lines is not divisible by 5):
csplit path/to/file 5 {*}
- Split a file every 5 lines, ignoring exact-division error:
csplit -k path/to/file 5 {*}
- Split a file at line 5 and use a custom prefix for the output files:
csplit path/to/file 5 -f prefix
- Split a file at a line matching a regular expression:
csplit path/to/file /regular_expression/
Synopsis
csplit [OPTION]... FILE PATTERN...
Description
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-matched
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
- --help
display this help and exit
- --version
output version information and exit
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 an integer optionally preceded by '+' or '-'
Author
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/>
Copyright
Copyright © 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
See Also
Full documentation <https://www.gnu.org/software/coreutils/csplit>
or available locally via: info '(coreutils) csplit invocation'