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 sig-
     nal 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
	     expression.  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
	     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.

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	11.1		       February	6, 2014			  FreeBSD 11.1

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

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

home | help