SPLIT(1P) - phpMan

SPLIT(1P)                  POSIX Programmer's Manual                 SPLIT(1P)

PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.
NAME
       split - split files into pieces
SYNOPSIS
       split [-l line_count][-a suffix_length][file[name]]
       split -b n[k|m][-a suffix_length][file[name]]

DESCRIPTION
       The split utility shall read an input file and write one or more output
       files.  The  default  size of each output file shall be 1000 lines. The
       size of the output files can be modified by specification of the -b  or
       -l options. Each output file shall be created with a unique suffix. The
       suffix shall consist of exactly suffix_length  lowercase  letters  from
       the  POSIX  locale.  The letters of the suffix shall be used as if they
       were a base-26 digit system, with the first suffix to be  created  con-
       sisting of all 'a' characters, the second with a 'b' replacing the last
       'a', and so on, until a name of  all  'z'  characters  is  created.  By
       default, the names of the output files shall be 'x', followed by a two-
       character suffix from the character set as  described  above,  starting
       with "aa", "ab", "ac", and so on, and continuing until the suffix "zz",
       for a maximum of 676 files.
       If the number of files required exceeds the maximum allowed by the suf-
       fix  length provided, such that the last allowable file would be larger
       than the requested size, the split utility shall  fail  after  creating
       the  last file with a valid suffix; split shall not delete the files it
       created with valid suffixes.  If the file limit is  not  exceeded,  the
       last  file  created  shall contain the remainder of the input file, and
       may be smaller than the requested size.
OPTIONS
       The split utility shall conform  to  the  Base  Definitions  volume  of
       IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
       The following options shall be supported:
       -a  suffix_length
              Use  suffix_length  letters  to  form  the suffix portion of the
              filenames of the split file. If -a is not specified, the default
              suffix  length  shall be two. If the sum of the name operand and
              the  suffix_length  option-argument  would  create  a   filename
              exceeding  {NAME_MAX}  bytes, an error shall result; split shall
              exit with a diagnostic message and no files shall be created.
       -b  n  Split a file into pieces n bytes in size.
       -b  nk Split a file into pieces n*1024 bytes in size.
       -b  nm Split a file into pieces n*1048576 bytes in size.
       -l  line_count
              Specify the number of lines in each resulting  file  piece.  The
              line_count  argument is an unsigned decimal integer. The default
              is 1000. If the input does not end with a <newline>, the partial
              line shall be included in the last output file.

OPERANDS
       The following operands shall be supported:
       file   The  pathname of the ordinary file to be split. If no input file
              is given or file is '-', the standard input shall be used.
       name   The prefix to be used for each of the files resulting  from  the
              split operation. If no name argument is given, 'x' shall be used
              as the prefix of the output files. The combined  length  of  the
              basename  of  prefix  and suffix_length cannot exceed {NAME_MAX}
              bytes. See the OPTIONS section.

STDIN
       See the INPUT FILES section.
INPUT FILES
       Any file can be used as input.
ENVIRONMENT VARIABLES
       The following environment  variables  shall  affect  the  execution  of
       split:
       LANG   Provide  a  default value for the internationalization variables
              that are unset or null. (See  the  Base  Definitions  volume  of
              IEEE Std 1003.1-2001,  Section  8.2,  Internationalization Vari-
              ables for the precedence of internationalization variables  used
              to determine the values of locale categories.)
       LC_ALL If  set  to a non-empty string value, override the values of all
              the other internationalization variables.
       LC_CTYPE
              Determine the locale for  the  interpretation  of  sequences  of
              bytes  of  text  data as characters (for example, single-byte as
              opposed to multi-byte characters in arguments and input files).
       LC_MESSAGES
              Determine the locale that should be used to  affect  the  format
              and contents of diagnostic messages written to standard error.
       NLSPATH
              Determine the location of message catalogs for the processing of
              LC_MESSAGES .

ASYNCHRONOUS EVENTS
       Default.
STDOUT
       Not used.
STDERR
       The standard error shall be used only for diagnostic messages.
OUTPUT FILES
       The output files contain portions of the original  input  file;  other-
       wise, unchanged.
EXTENDED DESCRIPTION
       None.
EXIT STATUS
       The following exit values shall be returned:
        0     Successful completion.
       >0     An error occurred.

CONSEQUENCES OF ERRORS
       Default.
       The following sections are informative.
APPLICATION USAGE
       None.
EXAMPLES
       In the following examples foo is a text file that contains 5000 lines.
        1. Create five files, xaa, xab, xac, xad, and xae:

           split foo
        2. Create  five  files,  but the suffixed portion of the created files
           consists of three letters, xaaa, xaab, xaac, xaad, and xaae:

           split -a 3 foo
        3. Create three files with four-letter suffixes and a supplied prefix,
           bar_aaaa, bar_aaab, and bar_aaac:

           split -a 4 -l 2000 foo bar_
        4. Create  as  many  files as are necessary to contain at most 20*1024
           bytes, each with the default prefix of x and a five-letter suffix:

           split -a 5 -b 20k foo
RATIONALE
       The -b option was added to provide  a  mechanism  for  splitting  files
       other than by lines. While most uses of the -b option are for transmit-
       ting files over networks, some believed it would have additional uses.
       The -a option was added to overcome the limitation  of  being  able  to
       create only 676 files.
       Consideration  was  given to deleting this utility, using the rationale
       that the functionality provided by this utility is  available  via  the
       csplit  utility  (see  csplit ). Upon reconsideration of the purpose of
       the User Portability Extension, it was  decided  to  retain  both  this
       utility  and  the  csplit  utility because users use both utilities and
       have historical expectations of their behavior. Furthermore, the split-
       ting on byte boundaries in split cannot be duplicated with the histori-
       cal csplit.
       The text " split shall not delete the files it created with valid  suf-
       fixes"  would  normally  be  assumed,  but  since  the related utility,
       csplit, does delete files  under  some  circumstances,  the  historical
       behavior of split is made explicit to avoid misinterpretation.
FUTURE DIRECTIONS
       None.
SEE ALSO
       csplit
COPYRIGHT
       Portions  of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating  System  Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003  by  the  Institute  of
       Electrical  and  Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group                  2003                            SPLIT(1P)