xref: /freebsd/usr.bin/wc/wc.1 (revision bdcbfde31e8e9b343f113a1956384bdf30d1ed62)
19b50d902SRodney W. Grimes.\" Copyright (c) 1991, 1993
29b50d902SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
39b50d902SRodney W. Grimes.\"
49b50d902SRodney W. Grimes.\" This code is derived from software contributed to Berkeley by
59b50d902SRodney W. Grimes.\" the Institute of Electrical and Electronics Engineers, Inc.
69b50d902SRodney W. Grimes.\"
79b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
89b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions
99b50d902SRodney W. Grimes.\" are met:
109b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
119b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
129b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
139b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
149b50d902SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
15fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors
169b50d902SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
179b50d902SRodney W. Grimes.\"    without specific prior written permission.
189b50d902SRodney W. Grimes.\"
199b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
209b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
219b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
229b50d902SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
239b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
249b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
259b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
269b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
279b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
289b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
299b50d902SRodney W. Grimes.\" SUCH DAMAGE.
309b50d902SRodney W. Grimes.\"
31*75acbb22SEugene Grosbein.Dd April 11, 2020
329b50d902SRodney W. Grimes.Dt WC 1
339b50d902SRodney W. Grimes.Os
349b50d902SRodney W. Grimes.Sh NAME
359b50d902SRodney W. Grimes.Nm wc
36ebb42aeeSTim J. Robbins.Nd word, line, character, and byte count
379b50d902SRodney W. Grimes.Sh SYNOPSIS
388fe908efSRuslan Ermilov.Nm
39bf0df869SMarcel Moolenaar.Op Fl -libxo
40f45dd010SGiorgos Keramidas.Op Fl Lclmw
418c85cce7SPhilippe Charnier.Op Ar
429b50d902SRodney W. Grimes.Sh DESCRIPTION
439b50d902SRodney W. GrimesThe
448c85cce7SPhilippe Charnier.Nm
459b50d902SRodney W. Grimesutility displays the number of lines, words, and bytes contained in each
469b50d902SRodney W. Grimesinput
47c566c001STom Rhodes.Ar file ,
48c566c001STom Rhodesor standard input (if no file is specified) to the standard output.
49c566c001STom RhodesA line is defined as a string of characters delimited by a
50c566c001STom Rhodes.Aq newline
51c566c001STom Rhodescharacter.
52c566c001STom RhodesCharacters beyond the final
53c566c001STom Rhodes.Aq newline
54c566c001STom Rhodescharacter will not be included
55c566c001STom Rhodesin the line count.
56c566c001STom Rhodes.Pp
57c566c001STom RhodesA word is defined as a string of characters delimited by white space
589b50d902SRodney W. Grimescharacters.
599b50d902SRodney W. GrimesWhite space characters are the set of characters for which the
60e58245f7STim J. Robbins.Xr iswspace 3
619b50d902SRodney W. Grimesfunction returns true.
629b50d902SRodney W. GrimesIf more than one input file is specified, a line of cumulative counts
639b50d902SRodney W. Grimesfor all the files is displayed on a separate line after the output for
649b50d902SRodney W. Grimesthe last file.
659b50d902SRodney W. Grimes.Pp
669b50d902SRodney W. GrimesThe following options are available:
67f0dd79bcSRuslan Ermilov.Bl -tag -width indent
6806691045SCraig Rodrigues.It Fl -libxo
6906691045SCraig RodriguesGenerate output via
7006691045SCraig Rodrigues.Xr libxo 3
7106691045SCraig Rodriguesin a selection of different human and machine readable formats.
7206691045SCraig RodriguesSee
7306691045SCraig Rodrigues.Xr xo_parse_args 3
7406691045SCraig Rodriguesfor details on command line arguments.
75f45dd010SGiorgos Keramidas.It Fl L
7684b851c2SConrad MeyerWrite the length of the line containing the most bytes (default) or characters
7784b851c2SConrad Meyer(when
7884b851c2SConrad Meyer.Fl m
7984b851c2SConrad Meyeris provided)
8084b851c2SConrad Meyerto standard output.
816bc3fe5fSPedro F. GiffuniWhen more than one
82f45dd010SGiorgos Keramidas.Ar file
83f45dd010SGiorgos Keramidasargument is specified, the longest input line of
84f45dd010SGiorgos Keramidas.Em all
85f45dd010SGiorgos Keramidasfiles is reported as the value of the final
86f45dd010SGiorgos Keramidas.Dq total .
879b50d902SRodney W. Grimes.It Fl c
889b50d902SRodney W. GrimesThe number of bytes in each input file
899b50d902SRodney W. Grimesis written to the standard output.
90c566c001STom RhodesThis will cancel out any prior usage of the
91a1b763caSTom Rhodes.Fl m
92c566c001STom Rhodesoption.
939b50d902SRodney W. Grimes.It Fl l
949b50d902SRodney W. GrimesThe number of lines in each input file
959b50d902SRodney W. Grimesis written to the standard output.
96ebb42aeeSTim J. Robbins.It Fl m
97ebb42aeeSTim J. RobbinsThe number of characters in each input file is written to the standard output.
98ebb42aeeSTim J. RobbinsIf the current locale does not support multibyte characters, this
99ebb42aeeSTim J. Robbinsis equivalent to the
100ebb42aeeSTim J. Robbins.Fl c
101ebb42aeeSTim J. Robbinsoption.
102c566c001STom RhodesThis will cancel out any prior usage of the
103c566c001STom Rhodes.Fl c
104c566c001STom Rhodesoption.
1059b50d902SRodney W. Grimes.It Fl w
1069b50d902SRodney W. GrimesThe number of words in each input file
1079b50d902SRodney W. Grimesis written to the standard output.
1089b50d902SRodney W. Grimes.El
1099b50d902SRodney W. Grimes.Pp
1109b50d902SRodney W. GrimesWhen an option is specified,
1118c85cce7SPhilippe Charnier.Nm
1129b50d902SRodney W. Grimesonly reports the information requested by that option.
113c566c001STom RhodesThe order of output always takes the form of line, word,
114c566c001STom Rhodesbyte, and file name.
115ebb42aeeSTim J. RobbinsThe default action is equivalent to specifying the
11606e482e6SRuslan Ermilov.Fl c , l
117ebb42aeeSTim J. Robbinsand
118ebb42aeeSTim J. Robbins.Fl w
119ebb42aeeSTim J. Robbinsoptions.
1209b50d902SRodney W. Grimes.Pp
1219b50d902SRodney W. GrimesIf no files are specified, the standard input is used and no
1229b50d902SRodney W. Grimesfile name is displayed.
123c566c001STom RhodesThe prompt will accept input until receiving EOF, or
124c566c001STom Rhodes.Bq ^D
125c566c001STom Rhodesin most environments.
126*75acbb22SEugene Grosbein.Pp
127*75acbb22SEugene GrosbeinIf
128*75acbb22SEugene Grosbein.Nm
129*75acbb22SEugene Grosbeinreceives a
130*75acbb22SEugene Grosbein.Dv SIGINFO
131*75acbb22SEugene Grosbein(see the
132*75acbb22SEugene Grosbein.Cm status
133*75acbb22SEugene Grosbeinargument for
134*75acbb22SEugene Grosbein.Xr stty 1 )
135*75acbb22SEugene Grosbeinsignal, the interim data will be written
136*75acbb22SEugene Grosbeinto the standard error output in the same format
137*75acbb22SEugene Grosbeinas the standard completion message.
138ebb42aeeSTim J. Robbins.Sh ENVIRONMENT
139ebb42aeeSTim J. RobbinsThe
14006e482e6SRuslan Ermilov.Ev LANG , LC_ALL
141ebb42aeeSTim J. Robbinsand
142ebb42aeeSTim J. Robbins.Ev LC_CTYPE
143ebb42aeeSTim J. Robbinsenvironment variables affect the execution of
144ebb42aeeSTim J. Robbins.Nm
145ebb42aeeSTim J. Robbinsas described in
14698c385e7STim J. Robbins.Xr environ 7 .
1476c7216dfSRuslan Ermilov.Sh EXIT STATUS
1486c7216dfSRuslan Ermilov.Ex -std
149ebb42aeeSTim J. Robbins.Sh EXAMPLES
150ebb42aeeSTim J. RobbinsCount the number of characters, words and lines in each of the files
151ebb42aeeSTim J. Robbins.Pa report1
152ebb42aeeSTim J. Robbinsand
153ebb42aeeSTim J. Robbins.Pa report2
154ebb42aeeSTim J. Robbinsas well as the totals for both:
155ebb42aeeSTim J. Robbins.Pp
156ebb42aeeSTim J. Robbins.Dl "wc -mlw report1 report2"
157f45dd010SGiorgos Keramidas.Pp
158f45dd010SGiorgos KeramidasFind the longest line in a list of files:
159f45dd010SGiorgos Keramidas.Pp
160f45dd010SGiorgos Keramidas.Dl "wc -L file1 file2 file3 | fgrep total"
1619b50d902SRodney W. Grimes.Sh COMPATIBILITY
1629b50d902SRodney W. GrimesHistorically, the
1638c85cce7SPhilippe Charnier.Nm
164f0dd79bcSRuslan Ermilovutility was documented to define a word as a
165f0dd79bcSRuslan Ermilov.Do
166f0dd79bcSRuslan Ermilovmaximal string of
167f0dd79bcSRuslan Ermilovcharacters delimited by <space>, <tab> or <newline> characters
168f0dd79bcSRuslan Ermilov.Dc .
1690227791bSRuslan ErmilovThe implementation, however, did not handle non-printing characters
170557b7fa1SRuslan Ermilovcorrectly so that
171cf1fd21bSRuslan Ermilov.Dq Li "\ \ ^D^E\ \ "
1724438d91eSRuslan Ermilovcounted as 6 spaces, while
1734438d91eSRuslan Ermilov.Dq Li foo^D^Ebar
1749b50d902SRodney W. Grimescounted as 8 characters.
175753d686dSRuslan Ermilov.Bx 4
176753d686dSRuslan Ermilovsystems after
177753d686dSRuslan Ermilov.Bx 4.3
178753d686dSRuslan Ermilovmodified the implementation to be consistent
1799b50d902SRodney W. Grimeswith the documentation.
180f0dd79bcSRuslan ErmilovThis implementation defines a
181f0dd79bcSRuslan Ermilov.Dq word
182f0dd79bcSRuslan Ermilovin terms of the
183e58245f7STim J. Robbins.Xr iswspace 3
1849b50d902SRodney W. Grimesfunction, as required by
1859b50d902SRodney W. Grimes.St -p1003.2 .
186f45dd010SGiorgos Keramidas.Pp
187f45dd010SGiorgos KeramidasThe
188f45dd010SGiorgos Keramidas.Fl L
189f45dd010SGiorgos Keramidasoption is a non-standard
190f45dd010SGiorgos Keramidas.Fx
191f45dd010SGiorgos Keramidasextension, compatible with the
192f45dd010SGiorgos Keramidas.Fl L
193f45dd010SGiorgos Keramidasoption of the GNU
194f45dd010SGiorgos Keramidas.Nm
195f45dd010SGiorgos Keramidasutility.
1966c7216dfSRuslan Ermilov.Sh SEE ALSO
197c61e3115SMarcel Moolenaar.Xr iswspace 3 ,
198c61e3115SMarcel Moolenaar.Xr libxo 3 ,
199bf0df869SMarcel Moolenaar.Xr xo_parse_args 3
2009b50d902SRodney W. Grimes.Sh STANDARDS
2019b50d902SRodney W. GrimesThe
2028c85cce7SPhilippe Charnier.Nm
203e785a241STim J. Robbinsutility conforms to
204ebb42aeeSTim J. Robbins.St -p1003.1-2001 .
205b8923d4cSWolfram Schneider.Sh HISTORY
206b8923d4cSWolfram SchneiderA
207b8923d4cSWolfram Schneider.Nm
208b8923d4cSWolfram Schneidercommand appeared in
209b8923d4cSWolfram Schneider.At v1 .
210