Annotation of src/usr.bin/wc/wc.1, Revision 1.10
1.10 ! aaron 1: .\" $OpenBSD: wc.1,v 1.9 2000/03/14 14:58:25 aaron Exp $
1.5 millert 2: .\"
3: .\" Copyright (c) 1991, 1993
4: .\" The Regents of the University of California. All rights reserved.
1.1 deraadt 5: .\"
6: .\" This code is derived from software contributed to Berkeley by
7: .\" the Institute of Electrical and Electronics Engineers, Inc.
8: .\"
9: .\" Redistribution and use in source and binary forms, with or without
10: .\" modification, are permitted provided that the following conditions
11: .\" are met:
12: .\" 1. Redistributions of source code must retain the above copyright
13: .\" notice, this list of conditions and the following disclaimer.
14: .\" 2. Redistributions in binary form must reproduce the above copyright
15: .\" notice, this list of conditions and the following disclaimer in the
16: .\" documentation and/or other materials provided with the distribution.
17: .\" 3. All advertising materials mentioning features or use of this software
18: .\" must display the following acknowledgement:
19: .\" This product includes software developed by the University of
20: .\" California, Berkeley and its contributors.
21: .\" 4. Neither the name of the University nor the names of its contributors
22: .\" may be used to endorse or promote products derived from this software
23: .\" without specific prior written permission.
24: .\"
25: .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26: .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27: .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28: .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29: .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30: .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31: .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32: .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33: .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34: .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35: .\" SUCH DAMAGE.
36: .\"
1.5 millert 37: .\" from: @(#)wc.1 8.2 (Berkeley) 4/19/94
1.1 deraadt 38: .\"
1.5 millert 39: .Dd April 19, 1994
1.1 deraadt 40: .Dt WC 1
41: .Os
42: .Sh NAME
43: .Nm wc
1.4 aaron 44: .Nd word, line, and byte count
1.1 deraadt 45: .Sh SYNOPSIS
46: .Nm wc
47: .Op Fl c | Fl m
48: .Op Fl lw
49: .Op Ar file ...
50: .Sh DESCRIPTION
51: The
1.9 aaron 52: .Nm
1.1 deraadt 53: utility reads one or more input text files, and, by
54: default, writes the number of lines, words, and bytes
55: contained in each input file to the standard output.
56: If more than one input file is specified,
57: a line of cumulative count(s) for all named files is output on a
1.5 millert 58: separate line following the last file count.
1.9 aaron 59: .Nm
1.5 millert 60: considers a word to be a maximal string of characters delimited by white
1.9 aaron 61: space.
62: Whitespace characters are the set of characters for which the
1.5 millert 63: .Xr isspace 3
64: function returns true.
1.1 deraadt 65: .Pp
1.7 aaron 66: The options are as follows:
1.1 deraadt 67: .Bl -tag -width Ds
68: .It Fl c
69: The number of bytes in each input file
70: is written to the standard output.
71: .It Fl l
72: The number of lines in each input file
73: is written to the standard output.
74: .It Fl m
75: The number of characters in each input file
76: is written to the standard output.
77: .It Fl w
78: The number of words in each input file
79: is written to the standard output.
80: .El
81: .Pp
82: When an option is specified,
1.9 aaron 83: .Nm
1.5 millert 84: only reports the information requested by that option.
85: The default action is equivalent to the flags
1.1 deraadt 86: .Fl clw
1.9 aaron 87: having been specified.
88: The
1.5 millert 89: .Fl c
90: and
91: .Fl m
92: options are mutually exclusive.
1.1 deraadt 93: .Pp
94: The following operands are available:
95: .Bl -tag -width Ds
96: .It Ar file
97: A pathname of an input file.
98: .El
99: .Pp
1.5 millert 100: If no file names are specified, the standard input is used
1.10 ! aaron 101: and a file name is not output.
! 102: The resulting output is one
1.1 deraadt 103: line of the requested count(s) with the cumulative sum
104: of all files read in via standard input.
105: .Pp
106: By default, the standard output contains a line for each
107: input file of the form:
108: .Bd -literal -offset indent
109: lines words bytes file_name
110: .Ed
111: .Pp
112: The counts for lines, words and bytes are integers separated
113: by spaces.
114: .Pp
115: The
1.9 aaron 116: .Nm
1.3 aaron 117: utility exits 0 on success or >0 if an error occurred.
1.5 millert 118: .Sh SEE ALSO
119: .Xr isspace 3
120: .Sh COMPATIBILITY
121: Historically, the
1.9 aaron 122: .Nm
1.5 millert 123: utility was documented to define a word as a ``maximal string of
124: characters delimited by <space>, <tab> or <newline> characters''.
125: The implementation, however, didn't handle non-printing characters
126: correctly so that `` ^D^E '' counted as 6 spaces, while ``foo^D^Ebar''
127: counted as 8 characters.
128: 4BSD systems after 4.3BSD modified the implementation to be consistent
129: with the documentation.
1.9 aaron 130: This implementation defines a
131: .Dq word
132: in terms of the
1.5 millert 133: .Xr isspace 3
134: function, as required by
135: .St -p1003.2-92 .
1.9 aaron 136: .Sh STANDARDS
137: The
138: .Nm
139: utility conforms to
140: .St -p1003.2-92 .
141: .Sh HISTORY
142: A
143: .Nm
144: utility appeared in
145: .At v1 .