csplit command in Linux with examples

The csplit command is used to split any file into many parts as required by the user. The parts are determined by context lines. Output pieces of FILE separated by PATTERN(s) to files ‘xx00’, ‘xx01’, …, and output byte counts of each piece to standard output.



Example: Consider a text file named list.txt with contents as follows:

Now split this file into two parts (second part starting from 3rd line) using csplit command as follows:


  • -f, –Prefix: It use PREFIX in place of ‘xx’.

    Example: Here instead of ‘xx’ prefix ‘abc was used.

  • -k, –Keep files: This option will not remove the output files on errors.

    Example: This command removes all output files in case it encounters an error. This can be changed by using ‘-k’ option.

  • -n, –Digits: Use given number of digits instead of 2.

    Example: Here we fixed number of digits after the file name. So instead of ‘xx01‘ we get ‘xx0‘.

  • -z, –elide-empty-files: Remove empty output files.

    Example: This removed the empty output files.

  • -s, –quiet: Does not display counts of output file sizes.
  • -b, –Suffix-format: Use sprintf FORMAT instead of %02d.
  • –help: To show the help message and exit.
  • –version: Display the version information and exit.
My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.