19b50d902SRodney W. Grimes.\" Copyright (c) 1990, 1991, 1993, 1994 29b50d902SRodney W. Grimes.\" The Regents of the University of California. All rights reserved. 39b50d902SRodney W. Grimes.\" 49b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without 59b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions 69b50d902SRodney W. Grimes.\" are met: 79b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright 89b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer. 99b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright 109b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer in the 119b50d902SRodney W. Grimes.\" documentation and/or other materials provided with the distribution. 12fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors 139b50d902SRodney W. Grimes.\" may be used to endorse or promote products derived from this software 149b50d902SRodney W. Grimes.\" without specific prior written permission. 159b50d902SRodney W. Grimes.\" 169b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 179b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 189b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 199b50d902SRodney W. Grimes.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 209b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 219b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 229b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 239b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 249b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 259b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 269b50d902SRodney W. Grimes.\" SUCH DAMAGE. 279b50d902SRodney W. Grimes.\" 289b50d902SRodney W. Grimes.\" @(#)split.1 8.3 (Berkeley) 4/16/94 29c3aac50fSPeter Wemm.\" $FreeBSD$ 309b50d902SRodney W. Grimes.\" 31c4f7198fSJan Schaumann.Dd May 26, 2023 329b50d902SRodney W. Grimes.Dt SPLIT 1 339b50d902SRodney W. Grimes.Os 349b50d902SRodney W. Grimes.Sh NAME 359b50d902SRodney W. Grimes.Nm split 369b50d902SRodney W. Grimes.Nd split a file into pieces 379b50d902SRodney W. Grimes.Sh SYNOPSIS 388fe908efSRuslan Ermilov.Nm 39*ac17fc81SJan Schaumann.Op Fl cd 409b50d902SRodney W. Grimes.Op Fl l Ar line_count 4149198c42SGiorgos Keramidas.Op Fl a Ar suffix_length 4249198c42SGiorgos Keramidas.Op Ar file Op Ar prefix 4349198c42SGiorgos Keramidas.Nm 44*ac17fc81SJan Schaumann.Op Fl cd 4549198c42SGiorgos Keramidas.Fl b Ar byte_count Ns 4649198c42SGiorgos Keramidas.Oo 47cb29445aSRuslan Ermilov.Sm off 48cb29445aSRuslan Ermilov.Cm K | k | M | m | G | g 49cb29445aSRuslan Ermilov.Sm on 5049198c42SGiorgos Keramidas.Oc 5149198c42SGiorgos Keramidas.Op Fl a Ar suffix_length 5249198c42SGiorgos Keramidas.Op Ar file Op Ar prefix 5349198c42SGiorgos Keramidas.Nm 54*ac17fc81SJan Schaumann.Op Fl cd 550e286f08SDavid Schultz.Fl n Ar chunk_count 560e286f08SDavid Schultz.Op Fl a Ar suffix_length 570e286f08SDavid Schultz.Op Ar file Op Ar prefix 580e286f08SDavid Schultz.Nm 59*ac17fc81SJan Schaumann.Op Fl cd 6049198c42SGiorgos Keramidas.Fl p Ar pattern 6149198c42SGiorgos Keramidas.Op Fl a Ar suffix_length 6249198c42SGiorgos Keramidas.Op Ar file Op Ar prefix 639b50d902SRodney W. Grimes.Sh DESCRIPTION 649b50d902SRodney W. GrimesThe 658fe908efSRuslan Ermilov.Nm 669b50d902SRodney W. Grimesutility reads the given 679b50d902SRodney W. Grimes.Ar file 6849198c42SGiorgos Keramidasand breaks it up into files of 1000 lines each 6949198c42SGiorgos Keramidas(if no options are specified), leaving the 7049198c42SGiorgos Keramidas.Ar file 7149198c42SGiorgos Keramidasunchanged. 723e4228c3STim J. RobbinsIf 733e4228c3STim J. Robbins.Ar file 743e4228c3STim J. Robbinsis a single dash 75f9988a58SRuslan Ermilov.Pq Sq Fl 763e4228c3STim J. Robbinsor absent, 773e4228c3STim J. Robbins.Nm 783e4228c3STim J. Robbinsreads from the standard input. 799b50d902SRodney W. Grimes.Pp 809b50d902SRodney W. GrimesThe options are as follows: 8149198c42SGiorgos Keramidas.Bl -tag -width indent 8233eafb83STim J. Robbins.It Fl a Ar suffix_length 8341850495SMike BarcroftUse 8441850495SMike Barcroft.Ar suffix_length 8541850495SMike Barcroftletters to form the suffix of the file name. 86cb29445aSRuslan Ermilov.It Fl b Ar byte_count Ns Oo 87cb29445aSRuslan Ermilov.Sm off 88cb29445aSRuslan Ermilov.Cm K | k | M | m | G | g 89cb29445aSRuslan Ermilov.Sm on 90cb29445aSRuslan Ermilov.Oc 91cff548f0STom RhodesCreate split files 929b50d902SRodney W. Grimes.Ar byte_count 939b50d902SRodney W. Grimesbytes in length. 949b50d902SRodney W. GrimesIf 954e9e907dSRuslan Ermilov.Cm k 96a6dd1c93SGiorgos Keramidasor 97a6dd1c93SGiorgos Keramidas.Cm K 989b50d902SRodney W. Grimesis appended to the number, the file is split into 999b50d902SRodney W. Grimes.Ar byte_count 1009b50d902SRodney W. Grimeskilobyte pieces. 1019b50d902SRodney W. GrimesIf 1024e9e907dSRuslan Ermilov.Cm m 103a6dd1c93SGiorgos Keramidasor 104a6dd1c93SGiorgos Keramidas.Cm M 1059b50d902SRodney W. Grimesis appended to the number, the file is split into 1069b50d902SRodney W. Grimes.Ar byte_count 1079b50d902SRodney W. Grimesmegabyte pieces. 108a6dd1c93SGiorgos KeramidasIf 109a6dd1c93SGiorgos Keramidas.Cm g 110a6dd1c93SGiorgos Keramidasor 111a6dd1c93SGiorgos Keramidas.Cm G 112a6dd1c93SGiorgos Keramidasis appended to the number, the file is split into 113a6dd1c93SGiorgos Keramidas.Ar byte_count 114a6dd1c93SGiorgos Keramidasgigabyte pieces. 115*ac17fc81SJan Schaumann.It Fl c 116*ac17fc81SJan SchaumannContinue creating files and do not overwrite existing 117*ac17fc81SJan Schaumannoutput files. 1187f418e34SEitan Adler.It Fl d 1197f418e34SEitan AdlerUse a numeric suffix instead of a alphabetic suffix. 12033eafb83STim J. Robbins.It Fl l Ar line_count 121cff548f0STom RhodesCreate split files 12249198c42SGiorgos Keramidas.Ar line_count 1239b50d902SRodney W. Grimeslines in length. 1240e286f08SDavid Schultz.It Fl n Ar chunk_count 125f806ea8aSGavin AtkinsonSplit file into 1260e286f08SDavid Schultz.Ar chunk_count 1270e286f08SDavid Schultzsmaller files. 128e48cafb5SFernando ApesteguíaThe first n - 1 files will be of size (size of 129e48cafb5SFernando Apesteguía.Ar file 130e48cafb5SFernando Apesteguía/ 131e48cafb5SFernando Apesteguía.Ar chunk_count 132e48cafb5SFernando Apesteguía) 133e48cafb5SFernando Apesteguíaand the last file will contain the remaining bytes. 1342fa6610fSArchie Cobbs.It Fl p Ar pattern 1352fa6610fSArchie CobbsThe file is split whenever an input line matches 1362fa6610fSArchie Cobbs.Ar pattern , 1372fa6610fSArchie Cobbswhich is interpreted as an extended regular expression. 1382fa6610fSArchie CobbsThe matching line will be the first line of the next output file. 1392fa6610fSArchie CobbsThis option is incompatible with the 1402fa6610fSArchie Cobbs.Fl b 1412fa6610fSArchie Cobbsand 1422fa6610fSArchie Cobbs.Fl l 1432fa6610fSArchie Cobbsoptions. 1449b50d902SRodney W. Grimes.El 1459b50d902SRodney W. Grimes.Pp 1469b50d902SRodney W. GrimesIf additional arguments are specified, the first is used as the name 1479b50d902SRodney W. Grimesof the input file which is to be split. 1489b50d902SRodney W. GrimesIf a second additional argument is specified, it is used as a prefix 1499b50d902SRodney W. Grimesfor the names of the files into which the file is split. 1509b50d902SRodney W. GrimesIn this case, each file into which the file is split is named by the 15141850495SMike Barcroftprefix followed by a lexically ordered suffix using 15241850495SMike Barcroft.Ar suffix_length 15341850495SMike Barcroftcharacters in the range 15449198c42SGiorgos Keramidas.Dq Li a Ns - Ns Li z . 15541850495SMike BarcroftIf 15641850495SMike Barcroft.Fl a 157c4f7198fSJan Schaumannis not specified, two letters are used as the initial suffix. 158c4f7198fSJan SchaumannIf the output does not fit into the resulting number of files and the 159c4f7198fSJan Schaumann.Fl d 160c4f7198fSJan Schaumannflag is not specified, then the suffix length is automatically extended as 161c4f7198fSJan Schaumannneeded such that all output files continue to sort in lexical order. 1629b50d902SRodney W. Grimes.Pp 1639b50d902SRodney W. GrimesIf the 16449198c42SGiorgos Keramidas.Ar prefix 1659b50d902SRodney W. Grimesargument is not specified, the file is split into lexically ordered 166e93586dfSTim J. Robbinsfiles named with the prefix 167e93586dfSTim J. Robbins.Dq Li x 16841850495SMike Barcroftand with suffixes as above. 169*ac17fc81SJan Schaumann.Pp 170*ac17fc81SJan SchaumannBy default, 171*ac17fc81SJan Schaumann.Nm 172*ac17fc81SJan Schaumannwill overwrite any existing output files. 173*ac17fc81SJan SchaumannIf the 174*ac17fc81SJan Schaumann.Fl c 175*ac17fc81SJan Schaumannflag is specified, 176*ac17fc81SJan Schaumann.Nm 177*ac17fc81SJan Schaumannwill instead create files with names that do not already exist. 1785c9fc899STim J. Robbins.Sh ENVIRONMENT 1795c9fc899STim J. RobbinsThe 1805c9fc899STim J. Robbins.Ev LANG , LC_ALL , LC_CTYPE 1815c9fc899STim J. Robbinsand 1825c9fc899STim J. Robbins.Ev LC_COLLATE 1835c9fc899STim J. Robbinsenvironment variables affect the execution of 1845c9fc899STim J. Robbins.Nm 1855c9fc899STim J. Robbinsas described in 1865c9fc899STim J. Robbins.Xr environ 7 . 187a866e170SRuslan Ermilov.Sh EXIT STATUS 1885c9fc899STim J. Robbins.Ex -std 189e48cafb5SFernando Apesteguía.Sh EXAMPLES 190e48cafb5SFernando ApesteguíaSplit input into as many files as needed, so that each file contains at most 2 191e48cafb5SFernando Apesteguíalines: 192e48cafb5SFernando Apesteguía.Bd -literal -offset indent 193e48cafb5SFernando Apesteguía$ echo -e "first line\\nsecond line\\nthird line\\nforth line" | split -l2 194e48cafb5SFernando Apesteguía.Ed 195e48cafb5SFernando Apesteguía.Pp 196e48cafb5SFernando ApesteguíaSplit input in chunks of 10 bytes using numeric prefixes for file names. 197e48cafb5SFernando ApesteguíaThis generates two files of 10 bytes (x00 and x01) and a third file (x02) with the 198e48cafb5SFernando Apesteguíaremaining 2 bytes: 199e48cafb5SFernando Apesteguía.Bd -literal -offset indent 200e48cafb5SFernando Apesteguía$ echo -e "This is 22 bytes long" | split -d -b10 201e48cafb5SFernando Apesteguía.Ed 202e48cafb5SFernando Apesteguía.Pp 203e48cafb5SFernando ApesteguíaSplit input generating 6 files: 204e48cafb5SFernando Apesteguía.Bd -literal -offset indent 205fb499259SMateusz Piotrowski$ echo -e "This is 22 bytes long" | split -n 6 206e48cafb5SFernando Apesteguía.Ed 207e48cafb5SFernando Apesteguía.Pp 208e48cafb5SFernando ApesteguíaSplit input creating a new file every time a line matches the regular expression 209e48cafb5SFernando Apesteguíafor a 210e48cafb5SFernando Apesteguía.Dq t 211e48cafb5SFernando Apesteguíafollowed by either 212e48cafb5SFernando Apesteguía.Dq a 213e48cafb5SFernando Apesteguíaor 214e48cafb5SFernando Apesteguía.Dq u 215e48cafb5SFernando Apesteguíathus creating two files: 216e48cafb5SFernando Apesteguía.Bd -literal -offset indent 217e48cafb5SFernando Apesteguía$ echo -e "stack\\nstock\\nstuck\\nanother line" | split -p 't[au]' 218e48cafb5SFernando Apesteguía.Ed 2192fa6610fSArchie Cobbs.Sh SEE ALSO 2203662a240STim J. Robbins.Xr csplit 1 , 22176a06f84SBen Smithurst.Xr re_format 7 2223662a240STim J. Robbins.Sh STANDARDS 2233662a240STim J. RobbinsThe 2243662a240STim J. Robbins.Nm 2253662a240STim J. Robbinsutility conforms to 2263662a240STim J. Robbins.St -p1003.1-2001 . 2279b50d902SRodney W. Grimes.Sh HISTORY 2289b50d902SRodney W. GrimesA 2298fe908efSRuslan Ermilov.Nm 2309b50d902SRodney W. Grimescommand appeared in 23103c249afSTim J. Robbins.At v3 . 2325c053aa3SKyle Evans.Pp 2335c053aa3SKyle EvansBefore 2345c053aa3SKyle Evans.Fx 14 , 2357aaa50c6SKyle Evanspattern and line matching only operated on lines shorter than 65,536 bytes. 236