wc(P)                                                     wc(P)





NAME
       wc - word, line, and byte or character count

SYNOPSIS
       wc [-c|-m][-lw][file...]

DESCRIPTION
       The  wc  utility shall read one or more input files and,
       by default, write the number of <newline>s,  words,  and
       bytes  contained in each input file to the standard out-
       put.

       The utility also shall write a total count for all named
       files, if more than one input file is specified.

       The  wc  utility shall consider a word to be a non-zero-
       length string of characters delimited by white space.

OPTIONS
       The wc 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:

       -c     Write to the standard output the number of  bytes
              in each input file.

       -l     Write  to the standard output the number of <new-
              line>s in each input file.

       -m     Write to the standard output the number of  char-
              acters in each input file.

       -w     Write  to the standard output the number of words
              in each input file.


       When any option is specified, wc shall report  only  the
       information requested by the specified options.

OPERANDS
       The following operand shall be supported:

       file   A  pathname of an input file. If no file operands
              are specified, the standard input shall be  used.


STDIN
       The  standard  input shall be used only if no file oper-
       ands are specified. See the INPUT FILES section.

INPUT FILES
       The input files may be of any type.

ENVIRONMENT VARIABLES
       The following environment  variables  shall  affect  the
       execution of wc:

       LANG   Provide a default value for the internationaliza-
              tion variables that are unset or null.  (See  the
              Base  Definitions volume of IEEE Std 1003.1-2001,
              Section 8.2, Internationalization  Variables  for
              the  precedence of internationalization variables
              used to determine  the  values  of  locale  cate-
              gories.)

       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) and
              which characters are defined as white space char-
              acters.

       LC_MESSAGES
              Determine the  locale  that  should  be  used  to
              affect the format and contents of diagnostic mes-
              sages written to standard error  and  informative
              messages written to standard output.

       NLSPATH
              Determine  the  location  of message catalogs for
              the processing of LC_MESSAGES .


ASYNCHRONOUS EVENTS
       Default.

STDOUT
       By default, the standard output shall contain  an  entry
       for each input file of the form:


              "%d %d %d %s\n", <newlines>, <words>, <bytes>, <file>

       If  the -m option is specified, the number of characters
       shall replace the <bytes> field in this format.

       If any options are specified and the -l  option  is  not
       specified,  the  number of <newline>s shall not be writ-
       ten.

       If any options are specified and the -w  option  is  not
       specified, the number of words shall not be written.

       If  any  options  are specified and neither -c nor -m is
       specified, the number of bytes or characters  shall  not
       be written.

       If  no  input file operands are specified, no name shall
       be written and no <blank>s preceding the pathname  shall
       be written.

       If  more  than  one  input file operand is specified, an
       additional line shall be written, of the same format  as
       the  other  lines,  except  that  the word total (in the
       POSIX locale) shall be written instead of a pathname and
       the  total  of each column shall be written as appropri-
       ate. Such an additional line, if any, is written at  the
       end of the output.

STDERR
       The  standard  error  shall  be used only for diagnostic
       messages.

OUTPUT FILES
       None.

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
       The -m option is not a switch, but an option at the same
       level  as  -c.  Thus, to produce the full default output
       with character counts  instead  of  bytes,  the  command
       required is:


              wc -mlw

EXAMPLES
       None.

RATIONALE
       The  output  file format pseudo- printf() string differs
       from the System V version of wc:


              "%7d%7d%7d %s\n"

       which produces possibly ambiguous and unparsable results
       for  very  large  files,  as  it assumes no number shall
       exceed six digits.

       Some historical implementations use only <space>, <tab>,
       and  <newline> as word separators. The equivalent of the
       ISO C standard isspace() function is more appropriate.

       The -c option stands for "character" count, even  though
       it counts bytes. This stems from the sometimes erroneous
       historical view that bytes and characters are  the  same
       size.  Due  to international requirements, the -m option
       (reminiscent of "multi-byte") was added to obtain actual
       character counts.

       Early  proposals  only  specified the results when input
       files were text files. The  current  specification  more
       closely  matches historical practice. (Bytes, words, and
       <newline>s are counted separately and  the  results  are
       written when an end-of-file is detected.)

       Historical   implementations  of  the  wc  utility  only
       accepted one argument to specify the options -c, -l, and
       -w.  Some  of  them  also had multiple occurrences of an
       option cause the corresponding count to be written  mul-
       tiple  times  and  had the order of specification of the
       options affect the order of the fields  on  output,  but
       did  not document either of these.  Because common usage
       either specifies no options  or  only  one  option,  and
       because   none  of  this  was  documented,  the  changes
       required by this volume of  IEEE Std 1003.1-2001  should
       not break many historical applications (and do not break
       any historical conforming applications).

FUTURE DIRECTIONS
       None.

SEE ALSO
       cksum

COPYRIGHT
       Portions of this text are reprinted  and  reproduced  in
       electronic  form  from  IEEE  Std  1003.1, 2003 Edition,
       Standard for Information Technology -- Portable  Operat-
       ing System Interface (POSIX), The Open Group Base Speci-
       fications Issue 6, Copyright (C) 2001-2003 by the Insti-
       tute  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.open-
       group.org/unix/online.html .



POSIX                         2003                        wc(P)
