wc - Counts the lines, words, characters, and bytes in a
wc [-c | -m] [-lw] [file...]
The wc command counts the lines, words, and characters or
bytes in a file, or in the standard input if you do not
specify any files, and writes the results to standard output.
It also keeps a total count for all named files.
Interfaces documented on this reference page conform to
industry standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Counts bytes in the input. Counts lines in the input.
Counts characters in the input. Counts words in the
Specifies the pathname of the input file. If this operand
is omitted, standard input is used.
A word is defined as a string of characters delimited by
white space as defined in the X/Open Base Definitions for
The wc command counts lines, words, and bytes by default.
Use the appropriate options to limit wc output. Specifying
wc without options is the equivalent of specifying wc
-lwc. If any options are specified, only the requested
information is output.
The order in which counts appear in the output line is
lines, words, bytes. If an option is omitted, then the
corresponding field in the output is omitted. If the -m
option is used, then character counts replace byte counts.
When you specify one or more files, wc displays the names
of the files along with the counts. If standard input is
used, then no file name is displayed.
The following exit values are returned: Successful completion.
An error occurred.
To display the number of lines, words, and bytes in the
file text, enter: wc text
This results in the following output: 27 185 722
The numbers 27, 185, and 722 are the number of
lines, words, and bytes, respectively, in the file
text. To display only one or two of the three
counts include the appropriate options. For example,
the following command displays only line and
byte counts: wc -cl text
27 722 text To count lines, words, and bytes in
more than one file, use wc with more than one input
file or with a file name pattern. For example, the
following command can be issued in a directory containing
the files text, text1, and text2: wc -l
27 text 112 text1 5 text2 144 total
The numbers 27, 112, and 5 are the numbers of lines
in the files text, text1, and text2, respectively,
and 144 is the total number of lines in the three
files. The file name is always appended to the
output. To obtain a pure number for things like
reporting purposes, pipe all input to the wc command
using cat. For example, the following command
will report the total count of characters in all
files in a directory. echo There are `cat *.c | wc
-c` characters in \*.c files
There are 1869 characters in *.c files
ENVIRONMENT VARIABLES [Toc] [Back]
The following environment variables affect the execution
of wc: Provides a default value for the internationalization
variables that are unset or null. If LANG is unset or
null, the corresponding value from the default locale is
used. If any of the internationalization variables contain
an invalid setting, the utility behaves as if none of
the variables had been defined. If set to a non-empty
string value, overrides the values of all the other internationalization
variables. Determines the locale for the
interpretation of sequences of bytes of text data as characters
(for example, single-byte as opposed to multibyte
characters in arguments and input files) and which characters
are defined as white space characters. Determines
the locale for the format and contents of diagnostic messages
written to standard error and informative messages
written to standard output. Determines the location of
message catalogues for the processing of LC_MESSAGES.
Commands: cksum(1), ls(1)
[ Back ]