CSPLIT(1) | General Commands Manual | CSPLIT(1) |
csplit
— split
files based on context
csplit |
[-ks ] [-f
prefix] [-n
number] file args ... |
The csplit
utility splits
file into pieces using the patterns
args. If file is a dash
(‘-
’), csplit
reads from standard input.
Files are created with a prefix of “xx” and two
decimal digits. The size of each file is written to standard output as it is
created. If an error occurs whilst files are being created, or a
HUP
, INT
, or
TERM
signal is received, all files previously
written are removed.
The options are as follows:
-f
prefix-k
HUP
, INT
, or
TERM
signal is received.-n
number-s
The args operands may be a combination of the following patterns:
/
regexp/
[[+
|-
]offset]%
regexp%
[[+
|-
]offset]{
num}
After all the patterns have been processed, the remaining input data (if there is any) will be written to a new file.
Requesting to split at a line before the current line number or past the end of the file will result in an error.
The LANG
, LC_ALL
,
LC_COLLATE
and LC_CTYPE
environment variables affect the execution of csplit
as described in environ(7).
The csplit
utility exits 0 on
success, and >0 if an error occurs.
Split the mdoc(7) file foo.1 into one file for each section (up to 21 plus one for the rest, if any):
csplit -k foo.1 '%^\.Sh%' '/^\.Sh/'
'{20}'
Split standard input after the first 99 lines and every 100 lines thereafter:
csplit -k - 100 '{19}'
The csplit
utility conforms to
IEEE Std 1003.1-2001 (“POSIX.1”).
A csplit
command appeared in PWB UNIX.
Input lines are limited to LINE_MAX
(2048)
bytes in length.
February 6, 2014 | macOS 14.6 |