xref: /freebsd/usr.bin/wc/wc.1 (revision e4e9813eb92cd7c4d4b819a8fbed5cbd3d92f5d8)
1.\" Copyright (c) 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" This code is derived from software contributed to Berkeley by
5.\" the Institute of Electrical and Electronics Engineers, Inc.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\" 3. All advertising materials mentioning features or use of this software
16.\"    must display the following acknowledgement:
17.\"	This product includes software developed by the University of
18.\"	California, Berkeley and its contributors.
19.\" 4. Neither the name of the University nor the names of its contributors
20.\"    may be used to endorse or promote products derived from this software
21.\"    without specific prior written permission.
22.\"
23.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33.\" SUCH DAMAGE.
34.\"
35.\"     @(#)wc.1	8.2 (Berkeley) 4/19/94
36.\" $FreeBSD$
37.\"
38.Dd February 23, 2005
39.Dt WC 1
40.Os
41.Sh NAME
42.Nm wc
43.Nd word, line, character, and byte count
44.Sh SYNOPSIS
45.Nm
46.Op Fl clmw
47.Op Ar
48.Sh DESCRIPTION
49The
50.Nm
51utility displays the number of lines, words, and bytes contained in each
52input
53.Ar file ,
54or standard input (if no file is specified) to the standard output.
55A line is defined as a string of characters delimited by a
56.Aq newline
57character.
58Characters beyond the final
59.Aq newline
60character will not be included
61in the line count.
62.Pp
63A word is defined as a string of characters delimited by white space
64characters.
65White space characters are the set of characters for which the
66.Xr iswspace 3
67function returns true.
68If more than one input file is specified, a line of cumulative counts
69for all the files is displayed on a separate line after the output for
70the last file.
71.Pp
72The following options are available:
73.Bl -tag -width Ds
74.It Fl c
75The number of bytes in each input file
76is written to the standard output.
77This will cancel out any prior usage of the
78.Fl m
79option.
80.It Fl l
81The number of lines in each input file
82is written to the standard output.
83.It Fl m
84The number of characters in each input file is written to the standard output.
85If the current locale does not support multibyte characters, this
86is equivalent to the
87.Fl c
88option.
89This will cancel out any prior usage of the
90.Fl c
91option.
92.It Fl w
93The number of words in each input file
94is written to the standard output.
95.El
96.Pp
97When an option is specified,
98.Nm
99only reports the information requested by that option.
100The order of output always takes the form of line, word,
101byte, and file name.
102The default action is equivalent to specifying the
103.Fl c , l
104and
105.Fl w
106options.
107.Pp
108If no files are specified, the standard input is used and no
109file name is displayed.
110The prompt will accept input until receiving EOF, or
111.Bq ^D
112in most environments.
113.Sh ENVIRONMENT
114The
115.Ev LANG , LC_ALL
116and
117.Ev LC_CTYPE
118environment variables affect the execution of
119.Nm
120as described in
121.Xr environ 7 .
122.Sh EXIT STATUS
123.Ex -std
124.Sh EXAMPLES
125Count the number of characters, words and lines in each of the files
126.Pa report1
127and
128.Pa report2
129as well as the totals for both:
130.Pp
131.Dl "wc -mlw report1 report2"
132.Sh COMPATIBILITY
133Historically, the
134.Nm
135utility was documented to define a word as a ``maximal string of
136characters delimited by <space>, <tab> or <newline> characters''.
137The implementation, however, did not handle non-printing characters
138correctly so that
139.Dq Li "  ^D^E  "
140counted as 6 spaces, while
141.Dq Li foo^D^Ebar
142counted as 8 characters.
143.Bx 4
144systems after
145.Bx 4.3
146modified the implementation to be consistent
147with the documentation.
148This implementation defines a ``word'' in terms of the
149.Xr iswspace 3
150function, as required by
151.St -p1003.2 .
152.Sh SEE ALSO
153.Xr iswspace 3
154.Sh STANDARDS
155The
156.Nm
157utility conforms to
158.St -p1003.1-2001 .
159.Sh HISTORY
160A
161.Nm
162command appeared in
163.At v1 .
164