xref: /freebsd/usr.bin/wc/wc.1 (revision 129d3046ef0427d3b22b78a71f3494854d817fba)
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 December 6, 2008
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 Lclmw
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 indent
74.It Fl L
75The number of characters in the longest input line
76is written to the standard output.
77When more then one
78.Ar file
79argument is specified, the longest input line of
80.Em all
81files is reported as the value of the final
82.Dq total .
83.It Fl c
84The number of bytes in each input file
85is written to the standard output.
86This will cancel out any prior usage of the
87.Fl m
88option.
89.It Fl l
90The number of lines in each input file
91is written to the standard output.
92.It Fl m
93The number of characters in each input file is written to the standard output.
94If the current locale does not support multibyte characters, this
95is equivalent to the
96.Fl c
97option.
98This will cancel out any prior usage of the
99.Fl c
100option.
101.It Fl w
102The number of words in each input file
103is written to the standard output.
104.El
105.Pp
106When an option is specified,
107.Nm
108only reports the information requested by that option.
109The order of output always takes the form of line, word,
110byte, and file name.
111The default action is equivalent to specifying the
112.Fl c , l
113and
114.Fl w
115options.
116.Pp
117If no files are specified, the standard input is used and no
118file name is displayed.
119The prompt will accept input until receiving EOF, or
120.Bq ^D
121in most environments.
122.Sh ENVIRONMENT
123The
124.Ev LANG , LC_ALL
125and
126.Ev LC_CTYPE
127environment variables affect the execution of
128.Nm
129as described in
130.Xr environ 7 .
131.Sh EXIT STATUS
132.Ex -std
133.Sh EXAMPLES
134Count the number of characters, words and lines in each of the files
135.Pa report1
136and
137.Pa report2
138as well as the totals for both:
139.Pp
140.Dl "wc -mlw report1 report2"
141.Pp
142Find the longest line in a list of files:
143.Pp
144.Dl "wc -L file1 file2 file3 | fgrep total"
145.Sh COMPATIBILITY
146Historically, the
147.Nm
148utility was documented to define a word as a
149.Do
150maximal string of
151characters delimited by <space>, <tab> or <newline> characters
152.Dc .
153The implementation, however, did not handle non-printing characters
154correctly so that
155.Dq Li "\ \ ^D^E\ \ "
156counted as 6 spaces, while
157.Dq Li foo^D^Ebar
158counted as 8 characters.
159.Bx 4
160systems after
161.Bx 4.3
162modified the implementation to be consistent
163with the documentation.
164This implementation defines a
165.Dq word
166in terms of the
167.Xr iswspace 3
168function, as required by
169.St -p1003.2 .
170.Pp
171The
172.Fl L
173option is a non-standard
174.Fx
175extension, compatible with the
176.Fl L
177option of the GNU
178.Nm
179utility.
180.Sh SEE ALSO
181.Xr iswspace 3
182.Sh STANDARDS
183The
184.Nm
185utility conforms to
186.St -p1003.1-2001 .
187.Sh HISTORY
188A
189.Nm
190command appeared in
191.At v1 .
192