mirror of https://github.com/mkerrisk/man-pages
231 lines
7.0 KiB
Groff
231 lines
7.0 KiB
Groff
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "WC" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" wc
|
|
.SH NAME
|
|
wc \- word, line, and byte or character count
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fBwc\fP \fB[\fP\fB-c|-m\fP\fB][\fP\fB-lw\fP\fB][\fP\fIfile\fP\fB...\fP\fB]\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fIwc\fP 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.
|
|
.LP
|
|
The utility also shall write a total count for all named files, if
|
|
more than one input file is specified.
|
|
.LP
|
|
The \fIwc\fP utility shall consider a \fIword\fP to be a non-zero-length
|
|
string of characters delimited by white space.
|
|
.SH OPTIONS
|
|
.LP
|
|
The \fIwc\fP utility shall conform to the Base Definitions volume
|
|
of IEEE\ Std\ 1003.1-2001, Section 12.2, Utility Syntax Guidelines.
|
|
.LP
|
|
The following options shall be supported:
|
|
.TP 7
|
|
\fB-c\fP
|
|
Write to the standard output the number of bytes in each input file.
|
|
.TP 7
|
|
\fB-l\fP
|
|
Write to the standard output the number of <newline>s in each input
|
|
file.
|
|
.TP 7
|
|
\fB-m\fP
|
|
Write to the standard output the number of characters in each input
|
|
file.
|
|
.TP 7
|
|
\fB-w\fP
|
|
Write to the standard output the number of words in each input file.
|
|
.sp
|
|
.LP
|
|
When any option is specified, \fIwc\fP shall report only the information
|
|
requested by the specified options.
|
|
.SH OPERANDS
|
|
.LP
|
|
The following operand shall be supported:
|
|
.TP 7
|
|
\fIfile\fP
|
|
A pathname of an input file. If no \fIfile\fP operands are specified,
|
|
the standard input shall be used.
|
|
.sp
|
|
.SH STDIN
|
|
.LP
|
|
The standard input shall be used only if no \fIfile\fP operands are
|
|
specified. See the INPUT FILES section.
|
|
.SH INPUT FILES
|
|
.LP
|
|
The input files may be of any type.
|
|
.SH ENVIRONMENT VARIABLES
|
|
.LP
|
|
The following environment variables shall affect the execution of
|
|
\fIwc\fP:
|
|
.TP 7
|
|
\fILANG\fP
|
|
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.)
|
|
.TP 7
|
|
\fILC_ALL\fP
|
|
If set to a non-empty string value, override the values of all the
|
|
other internationalization variables.
|
|
.TP 7
|
|
\fILC_CTYPE\fP
|
|
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.
|
|
.TP 7
|
|
\fILC_MESSAGES\fP
|
|
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.
|
|
.TP 7
|
|
\fINLSPATH\fP
|
|
Determine the location of message catalogs for the processing of \fILC_MESSAGES
|
|
\&.\fP
|
|
.sp
|
|
.SH ASYNCHRONOUS EVENTS
|
|
.LP
|
|
Default.
|
|
.SH STDOUT
|
|
.LP
|
|
By default, the standard output shall contain an entry for each input
|
|
file of the form:
|
|
.sp
|
|
.RS
|
|
.nf
|
|
|
|
\fB"%d %d %d %s\\n", <\fP\fInewlines\fP\fB>, <\fP\fIwords\fP\fB>, <\fP\fIbytes\fP\fB>, <\fP\fIfile\fP\fB>
|
|
\fP
|
|
.fi
|
|
.RE
|
|
.LP
|
|
If the \fB-m\fP option is specified, the number of characters shall
|
|
replace the <\fIbytes\fP> field in this format.
|
|
.LP
|
|
If any options are specified and the \fB-l\fP option is not specified,
|
|
the number of <newline>s shall not be written.
|
|
.LP
|
|
If any options are specified and the \fB-w\fP option is not specified,
|
|
the number of words shall not be written.
|
|
.LP
|
|
If any options are specified and neither \fB-c\fP nor \fB-m\fP is
|
|
specified, the number of bytes or characters shall not be
|
|
written.
|
|
.LP
|
|
If no input \fIfile\fP operands are specified, no name shall be written
|
|
and no <blank>s preceding the pathname shall be
|
|
written.
|
|
.LP
|
|
If more than one input \fIfile\fP operand is specified, an additional
|
|
line shall be written, of the same format as the other
|
|
lines, except that the word \fBtotal\fP (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.
|
|
.SH STDERR
|
|
.LP
|
|
The standard error shall be used only for diagnostic messages.
|
|
.SH OUTPUT FILES
|
|
.LP
|
|
None.
|
|
.SH EXTENDED DESCRIPTION
|
|
.LP
|
|
None.
|
|
.SH EXIT STATUS
|
|
.LP
|
|
The following exit values shall be returned:
|
|
.TP 7
|
|
\ 0
|
|
Successful completion.
|
|
.TP 7
|
|
>0
|
|
An error occurred.
|
|
.sp
|
|
.SH CONSEQUENCES OF ERRORS
|
|
.LP
|
|
Default.
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
The \fB-m\fP option is not a switch, but an option at the same level
|
|
as \fB-c\fP. Thus, to produce the full default output
|
|
with character counts instead of bytes, the command required is:
|
|
.sp
|
|
.RS
|
|
.nf
|
|
|
|
\fBwc -mlw
|
|
\fP
|
|
.fi
|
|
.RE
|
|
.SH EXAMPLES
|
|
.LP
|
|
None.
|
|
.SH RATIONALE
|
|
.LP
|
|
The output file format pseudo- \fIprintf\fP() string differs from
|
|
the System V version
|
|
of \fIwc\fP:
|
|
.sp
|
|
.RS
|
|
.nf
|
|
|
|
\fB"%7d%7d%7d %s\\n"
|
|
\fP
|
|
.fi
|
|
.RE
|
|
.LP
|
|
which produces possibly ambiguous and unparsable results for very
|
|
large files, as it assumes no number shall exceed six
|
|
digits.
|
|
.LP
|
|
Some historical implementations use only <space>, <tab>, and <newline>
|
|
as word separators. The equivalent of
|
|
the ISO\ C standard \fIisspace\fP() function is more appropriate.
|
|
.LP
|
|
The \fB-c\fP 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 \fB-m\fP option (reminiscent
|
|
of "multi-byte") was added to obtain actual character counts.
|
|
.LP
|
|
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.)
|
|
.LP
|
|
Historical implementations of the \fIwc\fP utility only accepted one
|
|
argument to specify the options \fB-c\fP, \fB-l\fP, and
|
|
\fB-w\fP. 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).
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIcksum\fP
|
|
.SH 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 .
|