]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.bin/wc/wc.1
Update the Arm Optimized Routine library to v24.01
[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 .Dd April 11, 2020
32 .Dt WC 1
33 .Os
34 .Sh NAME
35 .Nm wc
36 .Nd word, line, character, and byte count
37 .Sh SYNOPSIS
38 .Nm
39 .Op Fl -libxo
40 .Op Fl Lclmw
41 .Op Ar
42 .Sh DESCRIPTION
43 The
44 .Nm
45 utility displays the number of lines, words, and bytes contained in each
46 input
47 .Ar file ,
48 or standard input (if no file is specified) to the standard output.
49 A line is defined as a string of characters delimited by a
50 .Aq newline
51 character.
52 Characters beyond the final
53 .Aq newline
54 character will not be included
55 in the line count.
56 .Pp
57 A word is defined as a string of characters delimited by white space
58 characters.
59 White space characters are the set of characters for which the
60 .Xr iswspace 3
61 function returns true.
62 If more than one input file is specified, a line of cumulative counts
63 for all the files is displayed on a separate line after the output for
64 the last file.
65 .Pp
66 The following options are available:
67 .Bl -tag -width indent
68 .It Fl -libxo
69 Generate output via
70 .Xr libxo 3
71 in a selection of different human and machine readable formats.
72 See
73 .Xr xo_parse_args 3
74 for details on command line arguments.
75 .It Fl L
76 Write the length of the line containing the most bytes (default) or characters
77 (when
78 .Fl m
79 is provided)
80 to standard output.
81 When more than one
82 .Ar file
83 argument is specified, the longest input line of
84 .Em all
85 files is reported as the value of the final
86 .Dq total .
87 .It Fl c
88 The number of bytes in each input file
89 is written to the standard output.
90 This will cancel out any prior usage of the
91 .Fl m
92 option.
93 .It Fl l
94 The number of lines in each input file
95 is written to the standard output.
96 .It Fl m
97 The number of characters in each input file is written to the standard output.
98 If the current locale does not support multibyte characters, this
99 is equivalent to the
100 .Fl c
101 option.
102 This will cancel out any prior usage of the
103 .Fl c
104 option.
105 .It Fl w
106 The number of words in each input file
107 is written to the standard output.
108 .El
109 .Pp
110 When an option is specified,
111 .Nm
112 only reports the information requested by that option.
113 The order of output always takes the form of line, word,
114 byte, and file name.
115 The default action is equivalent to specifying the
116 .Fl c , l
117 and
118 .Fl w
119 options.
120 .Pp
121 If no files are specified, the standard input is used and no
122 file name is displayed.
123 The prompt will accept input until receiving EOF, or
124 .Bq ^D
125 in most environments.
126 .Pp
127 If
128 .Nm
129 receives a
130 .Dv SIGINFO
131 (see the
132 .Cm status
133 argument for
134 .Xr stty 1 )
135 signal, the interim data will be written
136 to the standard error output in the same format
137 as the standard completion message.
138 .Sh ENVIRONMENT
139 The
140 .Ev LANG , LC_ALL
141 and
142 .Ev LC_CTYPE
143 environment variables affect the execution of
144 .Nm
145 as described in
146 .Xr environ 7 .
147 .Sh EXIT STATUS
148 .Ex -std
149 .Sh EXAMPLES
150 Count the number of characters, words and lines in each of the files
151 .Pa report1
152 and
153 .Pa report2
154 as well as the totals for both:
155 .Pp
156 .Dl "wc -mlw report1 report2"
157 .Pp
158 Find the longest line in a list of files:
159 .Pp
160 .Dl "wc -L file1 file2 file3 | fgrep total"
161 .Sh COMPATIBILITY
162 Historically, the
163 .Nm
164 utility was documented to define a word as a
165 .Do
166 maximal string of
167 characters delimited by <space>, <tab> or <newline> characters
168 .Dc .
169 The implementation, however, did not handle non-printing characters
170 correctly so that
171 .Dq Li "\ \ ^D^E\ \ "
172 counted as 6 spaces, while
173 .Dq Li foo^D^Ebar
174 counted as 8 characters.
175 .Bx 4
176 systems after
177 .Bx 4.3
178 modified the implementation to be consistent
179 with the documentation.
180 This implementation defines a
181 .Dq word
182 in terms of the
183 .Xr iswspace 3
184 function, as required by
185 .St -p1003.2 .
186 .Pp
187 The
188 .Fl L
189 option is a non-standard
190 .Fx
191 extension, compatible with the
192 .Fl L
193 option of the GNU
194 .Nm
195 utility.
196 .Sh SEE ALSO
197 .Xr iswspace 3 ,
198 .Xr libxo 3 ,
199 .Xr xo_parse_args 3
200 .Sh STANDARDS
201 The
202 .Nm
203 utility conforms to
204 .St -p1003.1-2001 .
205 .Sh HISTORY
206 A
207 .Nm
208 command appeared in
209 .At v1 .