WC(1) | General Commands Manual | WC(1) |
wc
— word, line,
character, and byte count
wc |
[--libxo ] [-Lclmw ]
[file ...] |
The wc
utility displays the number of
lines, words, and bytes contained in each input file,
or standard input (if no file is specified) to the standard output. A line
is defined as a string of characters delimited by a ⟨newline⟩
character. Characters beyond the final ⟨newline⟩ character
will not be included in the line count.
A word is defined as a string of characters delimited by white space characters. White space characters are the set of characters for which the iswspace(3) function returns true. If more than one input file is specified, a line of cumulative counts for all the files is displayed on a separate line after the output for the last file.
The following options are available:
--libxo
-L
-m
is provided) to standard
output. When more than one file argument is
specified, the longest input line of
all files
is reported as the value of the final “total”.-c
-m
option.-l
-m
-c
option. This will cancel
out any prior usage of the -c
option.-w
When an option is specified, wc
only
reports the information requested by that option. The order of output always
takes the form of line, word, byte, and file name. The default action is
equivalent to specifying the -c
,
-l
and -w
options.
If no files are specified, the standard input is used and no file name is displayed. The prompt will accept input until receiving EOF, or [^D] in most environments.
If wc
receives a
SIGINFO
(see the status
argument for stty(1)) signal, the interim
data will be written to the standard error output in the same format as the
standard completion message.
The LANG
, LC_ALL
and LC_CTYPE
environment variables affect the
execution of wc
as described in
environ(7).
The wc
utility exits 0 on success,
and >0 if an error occurs.
Count the number of characters, words and lines in each of the files report1 and report2 as well as the totals for both:
wc -mlw report1 report2
Find the longest line in a list of files:
wc -L file1 file2 file3 | fgrep
total
Historically, the wc
utility was
documented to define a word as a “maximal string of characters
delimited by <space>, <tab> or <newline>
characters”. The implementation, however, did not handle non-printing
characters correctly so that
“ ^D^E
”
counted as 6 spaces, while
“foo^D^Ebar
” counted as 8 characters.
4BSD systems after 4.3BSD
modified the implementation to be consistent with the documentation. This
implementation defines a “word” in terms of the
iswspace(3) function, as required by
IEEE Std 1003.2 (“POSIX.2”).
The -L
option is a non-standard
FreeBSD extension, compatible with the
-L
option of the GNU wc
utility.
The wc
utility conforms to
IEEE Std 1003.1-2001 (“POSIX.1”).
A wc
command appeared in
Version 1 AT&T UNIX.
April 11, 2020 | macOS 15.0 |