WC(1) User Commands WC(1)

wc - display a count of lines, words and characters in a file

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

wc [-c | -m | -C] [-lLqw] [file]...

wc reads one or more input files and, by default, writes the number of NEWLINE characters, words and bytes contained in each input file to the standard output.

wc also writes a total count for all named files, if more than one input file is specified.

wc considers a word to be a non-zero-length string of characters delimited by white space (for example, SPACE, TAB). See iswspace(3C) or isspace(3C).

The wc built-in in ksh93 is associated with the /bin and /usr/bin paths. It is invoked when wc is executed without a pathname prefix and the pathname search finds a /bin/wc or /usr/bin/wc executable.

wc reads one or more input files and, by default, for each file writes a line containing the number of NEWLINEs, words, and bytes contained in each file followed by the file name to standard output in that order. A word is defined to be a non-zero length string delimited by isspace(3C) characters.

If more than one file is specified, wc writes a total count for all of the named files with total written instead of the file name.

By default, wc writes all three counts. Options can specified so that only certain counts are written. The -c, -C, and -m options are mutually exclusive.

If no file is specified, or if the file is -, wc reads from standard input and no filename is written to standard output. The start of the file is defined as the current offset.

--bytes | chars

List the byte counts.


List the line counts.

--longest-line | max-line-length

List the longest line length.

-m | C

List the character counts.


Suppress invalid multi-byte character warnings.


List the word counts.

The following options are supported:


Counts bytes.


Same as -m.


Counts lines.


Counts characters.


Counts words delimited by white space characters or new line characters. Delimiting characters are Extended Unix Code (EUC) characters from any code set defined by iswspace().

If no option is specified, the default is -lwc (counts lines, words, and bytes.)

The following operand is supported:


A path name of an input file. If no file operands are specified, the standard input is used.

See largefile(7) for the description of the behavior of wc when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).

See environ(7) for descriptions of the following environment variables that affect the execution of wc: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.

Successful completion.


An error occurred.

See attributes(7) for descriptions of the following attributes:

CSI Enabled
Interface Stability Committed
Standard See standards(7).

Interface Stability See below.

The ksh93 built-in binding to /bin and /usr/bin is Volatile. The built-in interfaces are Uncommitted.

cksum(1), ksh93(1), isspace(3C), iswalpha(3C), iswspace(3C), setlocale(3C), attributes(7), environ(7), largefile(7), standards(7)

March 13, 2008 OmniOS