---
name: "split"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/split"
---

# split(1)

split a file into pieces

## NAME

**split** – split a file into pieces

## SYNOPSIS

**split** \[**-a** *suffix\_length*\]\
\[ **-b** *byte\_count*\[**k**\|**m**\] \| **-l** *line\_count* \| **-p** *pattern*\] \[*file* \[*name*\]\]

## DESCRIPTION

The **split** utility reads the given *file*, or standard input if no file is specified, and breaks it up into files of 1000 lines each. *file* itself is not altered.

The options are as follows:

- **-a** *suffix\_length*

  Use *suffix\_length* letters to form the suffix of the file name (see below). The default suffix length is 2.

-

  **-b** *byte\_count* \[**k**\|**m**\] Create files *byte\_count* bytes in length. If ‘k’ is appended to the number, the file is split into *byte\_count* kilobyte pieces. If ‘m’ is appended to the number, the file is split into *byte\_count* megabyte pieces.

- **-l** *line\_count*

  Create files *line\_count* lines in length.

- **-p** *pattern*

  The file is split whenever an input line matches *pattern*, which is interpreted as an extended regular expression. The matching line will be the first line of the next output file. This option is incompatible with the **-b** and **-l** options.

If *name* is specified, it is used as a prefix for the names of the files into which the file is split. In this case, each file into which the file is split is named by the prefix followed by a lexically ordered suffix using *suffix\_length* characters in the range “a-z”.

If the *name* argument is not specified, the file is split into lexically ordered files named with the prefixes ‘x’, ‘y’, and ‘z’.

## EXIT STATUS

The **split** utility exits 0 on success, and \>0 if an error occurs.

## SEE ALSO

[csplit(1)](/csplit/1.md), [re\_format(7)](/re_format/7.md)

## STANDARDS

The **split** utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.

The flag \[**-p**\], as well as the ‘y’ and ‘z’ prefixes in the absence of a *name* parameter, are an extension to that specification.

## HISTORY

A **split** command appeared in Version 3 AT&T UNIX.

## BUGS

The maximum line length for matching patterns is 65536.
