]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.bin/wc/wc.1
zfs: merge openzfs/zfs@e13538856
[FreeBSD/FreeBSD.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. Neither the name of the University nor the names of its contributors
16 .\"    may be used to endorse or promote products derived from this software
17 .\"    without specific prior written permission.
18 .\"
19 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" SUCH DAMAGE.
30 .\"
31 .\"     @(#)wc.1        8.2 (Berkeley) 4/19/94
32 .\"
33 .Dd April 11, 2020
34 .Dt WC 1
35 .Os
36 .Sh NAME
37 .Nm wc
38 .Nd word, line, character, and byte count
39 .Sh SYNOPSIS
40 .Nm
41 .Op Fl -libxo
42 .Op Fl Lclmw
43 .Op Ar
44 .Sh DESCRIPTION
45 The
46 .Nm
47 utility displays the number of lines, words, and bytes contained in each
48 input
49 .Ar file ,
50 or standard input (if no file is specified) to the standard output.
51 A line is defined as a string of characters delimited by a
52 .Aq newline
53 character.
54 Characters beyond the final
55 .Aq newline
56 character will not be included
57 in the line count.
58 .Pp
59 A word is defined as a string of characters delimited by white space
60 characters.
61 White space characters are the set of characters for which the
62 .Xr iswspace 3
63 function returns true.
64 If more than one input file is specified, a line of cumulative counts
65 for all the files is displayed on a separate line after the output for
66 the last file.
67 .Pp
68 The following options are available:
69 .Bl -tag -width indent
70 .It Fl -libxo
71 Generate output via
72 .Xr libxo 3
73 in a selection of different human and machine readable formats.
74 See
75 .Xr xo_parse_args 3
76 for details on command line arguments.
77 .It Fl L
78 Write the length of the line containing the most bytes (default) or characters
79 (when
80 .Fl m
81 is provided)
82 to standard output.
83 When more than one
84 .Ar file
85 argument is specified, the longest input line of
86 .Em all
87 files is reported as the value of the final
88 .Dq total .
89 .It Fl c
90 The number of bytes in each input file
91 is written to the standard output.
92 This will cancel out any prior usage of the
93 .Fl m
94 option.
95 .It Fl l
96 The number of lines in each input file
97 is written to the standard output.
98 .It Fl m
99 The number of characters in each input file is written to the standard output.
100 If the current locale does not support multibyte characters, this
101 is equivalent to the
102 .Fl c
103 option.
104 This will cancel out any prior usage of the
105 .Fl c
106 option.
107 .It Fl w
108 The number of words in each input file
109 is written to the standard output.
110 .El
111 .Pp
112 When an option is specified,
113 .Nm
114 only reports the information requested by that option.
115 The order of output always takes the form of line, word,
116 byte, and file name.
117 The default action is equivalent to specifying the
118 .Fl c , l
119 and
120 .Fl w
121 options.
122 .Pp
123 If no files are specified, the standard input is used and no
124 file name is displayed.
125 The prompt will accept input until receiving EOF, or
126 .Bq ^D
127 in most environments.
128 .Pp
129 If
130 .Nm
131 receives a
132 .Dv SIGINFO
133 (see the
134 .Cm status
135 argument for
136 .Xr stty 1 )
137 signal, the interim data will be written
138 to the standard error output in the same format
139 as the standard completion message.
140 .Sh ENVIRONMENT
141 The
142 .Ev LANG , LC_ALL
143 and
144 .Ev LC_CTYPE
145 environment variables affect the execution of
146 .Nm
147 as described in
148 .Xr environ 7 .
149 .Sh EXIT STATUS
150 .Ex -std
151 .Sh EXAMPLES
152 Count the number of characters, words and lines in each of the files
153 .Pa report1
154 and
155 .Pa report2
156 as well as the totals for both:
157 .Pp
158 .Dl "wc -mlw report1 report2"
159 .Pp
160 Find the longest line in a list of files:
161 .Pp
162 .Dl "wc -L file1 file2 file3 | fgrep total"
163 .Sh COMPATIBILITY
164 Historically, the
165 .Nm
166 utility was documented to define a word as a
167 .Do
168 maximal string of
169 characters delimited by <space>, <tab> or <newline> characters
170 .Dc .
171 The implementation, however, did not handle non-printing characters
172 correctly so that
173 .Dq Li "\ \ ^D^E\ \ "
174 counted as 6 spaces, while
175 .Dq Li foo^D^Ebar
176 counted as 8 characters.
177 .Bx 4
178 systems after
179 .Bx 4.3
180 modified the implementation to be consistent
181 with the documentation.
182 This implementation defines a
183 .Dq word
184 in terms of the
185 .Xr iswspace 3
186 function, as required by
187 .St -p1003.2 .
188 .Pp
189 The
190 .Fl L
191 option is a non-standard
192 .Fx
193 extension, compatible with the
194 .Fl L
195 option of the GNU
196 .Nm
197 utility.
198 .Sh SEE ALSO
199 .Xr iswspace 3 ,
200 .Xr libxo 3 ,
201 .Xr xo_parse_args 3
202 .Sh STANDARDS
203 The
204 .Nm
205 utility conforms to
206 .St -p1003.1-2001 .
207 .Sh HISTORY
208 A
209 .Nm
210 command appeared in
211 .At v1 .