Split a file into context-determined pieces. csplit splits file into pieces using the patterns args. If file is a dash
(-), csplit will read from standard input.
Syntax csplit [-ks] [-f prefix] [-n number] file args ... Options -f prefix Give created files names beginning with prefix. The default is 'xx'. -k Do not remove output files if an error occurs or a HUP, INT or TERM signal is received. -n number Use number of decimal digits after the prefix to form the file name. The default is 2. -s Do not write the size of each output file to standard output as it is created. The args operands can be a combination of the following patterns: /regexp/[[+|-]offset] Create a file containing the input from the current line to (but not including) the next line matching the given basic regular expression. An optional offset from the line that matched can be specified. %regexp%[[+|-]offset] Same as above but a file is not created for the output. line_no Create containing the input from the current line to (but not including) the specified line number. {num} Repeat the previous pattern the specified number of times. If it follows a line number pattern, a new file will be created for each line_no lines, num times. The first line of the file is line number 1 for historic reasons.
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.
ENVIRONMENT
The LANG, LC_ALL, LC_COLLATE and LC_CTYPE environment variables affect the execution of
csplit as described in environ(7).
Exit Status
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 20):
csplit -k foo.1 '%^\.Sh%' '/^\.Sh/' '{20}'
Split standard input after the first 99 lines and every 100 lines thereafter:
csplit -k - 100 '{19}'
“I was the only kid in the audience who didn’t understand why Dorothy would ever want to go home. It was a mystery to me. To that awful black and white farm, with that aunt who was dressed badly, with smelly farm animals around. When she could live with winged monkeys and magic shoes and gay lions. I didn’t get it” ~ John Waters
Local man page: csplit - Command line help page on your local machine.
sed - Stream Editor.
split - Split a file into fixed-size pieces.
re_format(7).