manpages: Split DIAGNOSTICS into EXIT STATUS and DIAGNOSTICS.
[dragonfly.git] / usr.bin / wc / wc.1
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: src/usr.bin/wc/wc.1,v 1.6.2.4 2002/08/25 02:47:04 tjr Exp $
37 .\" $DragonFly: src/usr.bin/wc/wc.1,v 1.3 2006/02/17 19:39:16 swildner Exp $
38 .\"
39 .Dd June 13, 2002
40 .Dt WC 1
41 .Os
42 .Sh NAME
43 .Nm wc
44 .Nd word, line, character, and byte count
45 .Sh SYNOPSIS
46 .Nm
47 .Op Fl clmw
48 .Op Ar
49 .Sh DESCRIPTION
50 The
51 .Nm
52 utility displays the number of lines, words, and bytes contained in each
53 input
54 .Ar file
55 (or standard input, by default) to the standard output.
56 A line is defined as a string of characters delimited by a <newline>
57 character,
58 and a word is defined as a string of characters delimited by white space
59 characters.
60 White space characters are the set of characters for which the
61 .Xr isspace 3
62 function returns true.
63 If more than one input file is specified, a line of cumulative counts
64 for all the files is displayed on a separate line after the output for
65 the last file.
66 .Pp
67 The following options are available:
68 .Bl -tag -width Ds
69 .It Fl c
70 The number of bytes in each input file
71 is written to the standard output.
72 .It Fl l
73 The number of lines in each input file
74 is written to the standard output.
75 .It Fl m
76 The number of characters in each input file is written to the standard output.
77 If the current locale does not support multibyte characters, this
78 is equivalent to the
79 .Fl c
80 option.
81 .It Fl w
82 The number of words in each input file
83 is written to the standard output.
84 .El
85 .Pp
86 When an option is specified,
87 .Nm
88 only reports the information requested by that option.
89 The default action is equivalent to specifying the
90 .Fl c ,
91 .Fl l
92 and
93 .Fl w
94 options.
95 .Pp
96 If no files are specified, the standard input is used and no
97 file name is displayed.
98 .Sh ENVIRONMENT
99 The
100 .Ev LANG ,
101 .Ev LC_ALL
102 and
103 .Ev LC_CTYPE
104 environment variables affect the execution of
105 .Nm
106 as described in
107 .Xr environ 7 .
108 .Sh EXIT STATUS
109 .Ex -std
110 .Sh EXAMPLES
111 Count the number of characters, words and lines in each of the files
112 .Pa report1
113 and
114 .Pa report2
115 as well as the totals for both:
116 .Pp
117 .Dl "wc -mlw report1 report2"
118 .Sh COMPATIBILITY
119 Historically, the
120 .Nm
121 utility was documented to define a word as a ``maximal string of
122 characters delimited by <space>, <tab> or <newline> characters''.
123 The implementation, however, didn't handle non-printing characters
124 correctly so that ``  ^D^E  '' counted as 6 spaces, while ``foo^D^Ebar''
125 counted as 8 characters.
126 .Bx 4
127 systems after
128 .Bx 4.3
129 modified the implementation to be consistent
130 with the documentation.
131 This implementation defines a ``word'' in terms of the
132 .Xr isspace 3
133 function, as required by
134 .St -p1003.2 .
135 .Sh SEE ALSO
136 .Xr isspace 3
137 .Sh STANDARDS
138 The
139 .Nm
140 utility conforms to
141 .St -p1003.1-2001 .
142 .Sh HISTORY
143 A
144 .Nm
145 command appeared in
146 .At v1 .