Split (Unix)


split is a utility on Unix, Plan 9, and Unix-like operating systems most commonly used to split a computer file into two or more smaller files.

History

The command first appeared in Version 3 Unix and is part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX.1 and the Single Unix Specification. The version of split bundled in GNU coreutils was written by Torbjorn Granlund and Richard Stallman. The command has also been ported to the IBM i operating system.

Usage

The command-syntax is:

split INPUT [PREFIX

The default behavior of split is to generate output files of a fixed size, default [1000
lines. The files are named by appending aa, ab, ac, etc. to output filename. If output filename is not given, the default filename of x is used, for example, xaa, xab, etc. When a hyphen is used instead of input filename, data is derived from standard input. The files are typically rejoined using a utility such as cat.
Additional program options permit a maximum character count, a maximum line length, how many incrementing characters in generated filenames, and whether to use letters or digits.

Split file into pieces

Create a file named "myfile.txt" with exactly 3,000 lines of data:

$ head -3000 < /dev/urandom > myfile.txt

Now, use the split command to break this file into pieces :

$ split myfile.txt
$ ls -l
-rw-r--r-- 1 root root 761K Jun 16 18:17 myfile.txt
-rw-r--r-- 1 root root 242K Jun 16 18:17 xaa
-rw-r--r-- 1 root root 263K Jun 16 18:17 xab
-rw-r--r-- 1 root root 256K Jun 16 18:17 xac
$ wc --lines xa*
1000 xaa
1000 xab
1000 xac
3000 total

As seen above, the split command has broken the original file into three, equal in number of lines, files: xaa, xab, and xac.