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