# phpman > man > CSPLIT(1)

> **TLDR:** Split a file into pieces.
>
- Split a file in two parts, starting the second one at line 10:
  `csplit {{path/to/file}} 10`
- Split a file in three parts, starting the latter parts in lines 7 and 23:
  `csplit {{path/to/file}} 7 23`
- Start a new part at every 5th line (will fail if number of lines is not divisible by 5):
  `csplit {{path/to/file}} 5 {*}`
- Start a new part at every 5th line, ignoring exact-division error:
  `csplit {{-k|--keep-files}} {{path/to/file}} 5 {*}`
- Split a file above line 5 and use a custom prefix for the output files (default is `xx`):
  `csplit {{path/to/file}} 5 {{-f|--prefix}} {{prefix}}`
- Split a file above the first line matching a `regex` pattern:
  `csplit {{path/to/file}} /{{regex}}/`

*Source: tldr-pages*

---

[CSPLIT(1)](https://www.chedong.com/phpMan.php/man/CSPLIT/1/markdown)                                   User Commands                                  [CSPLIT(1)](https://www.chedong.com/phpMan.php/man/CSPLIT/1/markdown)



## NAME
       csplit - split a file into sections determined by context lines

## 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
              use sprintf FORMAT instead of %02d

### -f --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
              use specified number of digits instead of 2

### -s --quiet --silent
              do not print counts of output file sizes

### -z --elide-empty-files
              remove 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 a required '+' or '-' followed by a positive integer.

## 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 © 2020 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'



GNU coreutils 8.32                          January 2026                                   [CSPLIT(1)](https://www.chedong.com/phpMan.php/man/CSPLIT/1/markdown)
