Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CSPLIT(1)		FreeBSD	General	Commands Manual		     CSPLIT(1)

NAME
     csplit -- split files based on context

SYNOPSIS
     csplit [-ks] [-f prefix] [-n number] file args ...

DESCRIPTION
     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
	     Create file names beginning with prefix, instead of "xx".

     -k	     Do	not remove previously created files if an error	occurs or a
	     HUP, INT, or TERM signal is received.

     -n	number
	     Create file names beginning with number of	decimal	digits after
	     the prefix, instead of 2.

     -s	     Do	not write the size of each output file to standard output as
	     it	is created.

     The args operands may 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 ex-
	     pression.	An optional offset from	the line that matched may 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 in-
	     cluding) 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.

EXAMPLES
     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 there-
     after:

	   csplit -k - 100 '{19}'

SEE ALSO
     sed(1), split(1), re_format(7)

STANDARDS
     The csplit	utility	conforms to IEEE Std 1003.1-2001 ("POSIX.1").

HISTORY
     A csplit command appeared in PWB UNIX.

BUGS
     Input lines are limited to	LINE_MAX (2048)	bytes in length.

FreeBSD	13.0		       February	6, 2014			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | ENVIRONMENT | EXIT STATUS | EXAMPLES | SEE ALSO | STANDARDS | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=csplit&manpath=FreeBSD+13.2-RELEASE+and+Ports>

home | help