tldr/pages/linux/csplit.md

684 B

csplit

Split a file into pieces. This generates files named "xx00", "xx01", and so on. More information: https://www.gnu.org/software/coreutils/csplit.

  • Split a file at lines 5 and 23:

csplit {{path/to/file}} 5 23

  • Split a file every 5 lines (this will fail if the total number of lines is not divisible by 5):

csplit {{path/to/file}} 5 {*}

  • Split a file every 5 lines, ignoring exact-division error:

csplit -k {{path/to/file}} 5 {*}

  • Split a file at line 5 and use a custom prefix for the output files:

csplit {{path/to/file}} 5 -f {{prefix}}

  • Split a file at a line matching a regular expression:

csplit {{path/to/file}} /{{regular_expression}}/