Man Linux: Main Page and Category List

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 output.

       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 <newline>s in each
              input file.

       -m     Write to the standard output the number of  characters  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  operands  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 internationalization 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 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)
              and which characters are defined as white space characters.

       LC_MESSAGES
              Determine  the  locale  that should be used to affect the format
              and contents of diagnostic messages 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 written.

       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 appropriate.
       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
       multiple 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 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 .