xref: /freebsd/usr.bin/wc/wc.1 (revision 84b851c23fecf26c88f1407b8a06282785c6bffd)
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.\"
319b50d902SRodney W. Grimes.\"     @(#)wc.1	8.2 (Berkeley) 4/19/94
32c3aac50fSPeter Wemm.\" $FreeBSD$
339b50d902SRodney W. Grimes.\"
34*84b851c2SConrad Meyer.Dd August 2, 2018
359b50d902SRodney W. Grimes.Dt WC 1
369b50d902SRodney W. Grimes.Os
379b50d902SRodney W. Grimes.Sh NAME
389b50d902SRodney W. Grimes.Nm wc
39ebb42aeeSTim J. Robbins.Nd word, line, character, and byte count
409b50d902SRodney W. Grimes.Sh SYNOPSIS
418fe908efSRuslan Ermilov.Nm
42bf0df869SMarcel Moolenaar.Op Fl -libxo
43f45dd010SGiorgos Keramidas.Op Fl Lclmw
448c85cce7SPhilippe Charnier.Op Ar
459b50d902SRodney W. Grimes.Sh DESCRIPTION
469b50d902SRodney W. GrimesThe
478c85cce7SPhilippe Charnier.Nm
489b50d902SRodney W. Grimesutility displays the number of lines, words, and bytes contained in each
499b50d902SRodney W. Grimesinput
50c566c001STom Rhodes.Ar file ,
51c566c001STom Rhodesor standard input (if no file is specified) to the standard output.
52c566c001STom RhodesA line is defined as a string of characters delimited by a
53c566c001STom Rhodes.Aq newline
54c566c001STom Rhodescharacter.
55c566c001STom RhodesCharacters beyond the final
56c566c001STom Rhodes.Aq newline
57c566c001STom Rhodescharacter will not be included
58c566c001STom Rhodesin the line count.
59c566c001STom Rhodes.Pp
60c566c001STom RhodesA word is defined as a string of characters delimited by white space
619b50d902SRodney W. Grimescharacters.
629b50d902SRodney W. GrimesWhite space characters are the set of characters for which the
63e58245f7STim J. Robbins.Xr iswspace 3
649b50d902SRodney W. Grimesfunction returns true.
659b50d902SRodney W. GrimesIf more than one input file is specified, a line of cumulative counts
669b50d902SRodney W. Grimesfor all the files is displayed on a separate line after the output for
679b50d902SRodney W. Grimesthe last file.
689b50d902SRodney W. Grimes.Pp
699b50d902SRodney W. GrimesThe following options are available:
70f0dd79bcSRuslan Ermilov.Bl -tag -width indent
7106691045SCraig Rodrigues.It Fl -libxo
7206691045SCraig RodriguesGenerate output via
7306691045SCraig Rodrigues.Xr libxo 3
7406691045SCraig Rodriguesin a selection of different human and machine readable formats.
7506691045SCraig RodriguesSee
7606691045SCraig Rodrigues.Xr xo_parse_args 3
7706691045SCraig Rodriguesfor details on command line arguments.
78f45dd010SGiorgos Keramidas.It Fl L
79*84b851c2SConrad MeyerWrite the length of the line containing the most bytes (default) or characters
80*84b851c2SConrad Meyer(when
81*84b851c2SConrad Meyer.Fl m
82*84b851c2SConrad Meyeris provided)
83*84b851c2SConrad Meyerto standard output.
846bc3fe5fSPedro F. GiffuniWhen more than one
85f45dd010SGiorgos Keramidas.Ar file
86f45dd010SGiorgos Keramidasargument is specified, the longest input line of
87f45dd010SGiorgos Keramidas.Em all
88f45dd010SGiorgos Keramidasfiles is reported as the value of the final
89f45dd010SGiorgos Keramidas.Dq total .
909b50d902SRodney W. Grimes.It Fl c
919b50d902SRodney W. GrimesThe number of bytes in each input file
929b50d902SRodney W. Grimesis written to the standard output.
93c566c001STom RhodesThis will cancel out any prior usage of the
94a1b763caSTom Rhodes.Fl m
95c566c001STom Rhodesoption.
969b50d902SRodney W. Grimes.It Fl l
979b50d902SRodney W. GrimesThe number of lines in each input file
989b50d902SRodney W. Grimesis written to the standard output.
99ebb42aeeSTim J. Robbins.It Fl m
100ebb42aeeSTim J. RobbinsThe number of characters in each input file is written to the standard output.
101ebb42aeeSTim J. RobbinsIf the current locale does not support multibyte characters, this
102ebb42aeeSTim J. Robbinsis equivalent to the
103ebb42aeeSTim J. Robbins.Fl c
104ebb42aeeSTim J. Robbinsoption.
105c566c001STom RhodesThis will cancel out any prior usage of the
106c566c001STom Rhodes.Fl c
107c566c001STom Rhodesoption.
1089b50d902SRodney W. Grimes.It Fl w
1099b50d902SRodney W. GrimesThe number of words in each input file
1109b50d902SRodney W. Grimesis written to the standard output.
1119b50d902SRodney W. Grimes.El
1129b50d902SRodney W. Grimes.Pp
1139b50d902SRodney W. GrimesWhen an option is specified,
1148c85cce7SPhilippe Charnier.Nm
1159b50d902SRodney W. Grimesonly reports the information requested by that option.
116c566c001STom RhodesThe order of output always takes the form of line, word,
117c566c001STom Rhodesbyte, and file name.
118ebb42aeeSTim J. RobbinsThe default action is equivalent to specifying the
11906e482e6SRuslan Ermilov.Fl c , l
120ebb42aeeSTim J. Robbinsand
121ebb42aeeSTim J. Robbins.Fl w
122ebb42aeeSTim J. Robbinsoptions.
1239b50d902SRodney W. Grimes.Pp
1249b50d902SRodney W. GrimesIf no files are specified, the standard input is used and no
1259b50d902SRodney W. Grimesfile name is displayed.
126c566c001STom RhodesThe prompt will accept input until receiving EOF, or
127c566c001STom Rhodes.Bq ^D
128c566c001STom Rhodesin most environments.
129ebb42aeeSTim J. Robbins.Sh ENVIRONMENT
130ebb42aeeSTim J. RobbinsThe
13106e482e6SRuslan Ermilov.Ev LANG , LC_ALL
132ebb42aeeSTim J. Robbinsand
133ebb42aeeSTim J. Robbins.Ev LC_CTYPE
134ebb42aeeSTim J. Robbinsenvironment variables affect the execution of
135ebb42aeeSTim J. Robbins.Nm
136ebb42aeeSTim J. Robbinsas described in
13798c385e7STim J. Robbins.Xr environ 7 .
1386c7216dfSRuslan Ermilov.Sh EXIT STATUS
1396c7216dfSRuslan Ermilov.Ex -std
140ebb42aeeSTim J. Robbins.Sh EXAMPLES
141ebb42aeeSTim J. RobbinsCount the number of characters, words and lines in each of the files
142ebb42aeeSTim J. Robbins.Pa report1
143ebb42aeeSTim J. Robbinsand
144ebb42aeeSTim J. Robbins.Pa report2
145ebb42aeeSTim J. Robbinsas well as the totals for both:
146ebb42aeeSTim J. Robbins.Pp
147ebb42aeeSTim J. Robbins.Dl "wc -mlw report1 report2"
148f45dd010SGiorgos Keramidas.Pp
149f45dd010SGiorgos KeramidasFind the longest line in a list of files:
150f45dd010SGiorgos Keramidas.Pp
151f45dd010SGiorgos Keramidas.Dl "wc -L file1 file2 file3 | fgrep total"
1529b50d902SRodney W. Grimes.Sh COMPATIBILITY
1539b50d902SRodney W. GrimesHistorically, the
1548c85cce7SPhilippe Charnier.Nm
155f0dd79bcSRuslan Ermilovutility was documented to define a word as a
156f0dd79bcSRuslan Ermilov.Do
157f0dd79bcSRuslan Ermilovmaximal string of
158f0dd79bcSRuslan Ermilovcharacters delimited by <space>, <tab> or <newline> characters
159f0dd79bcSRuslan Ermilov.Dc .
1600227791bSRuslan ErmilovThe implementation, however, did not handle non-printing characters
161557b7fa1SRuslan Ermilovcorrectly so that
162cf1fd21bSRuslan Ermilov.Dq Li "\ \ ^D^E\ \ "
1634438d91eSRuslan Ermilovcounted as 6 spaces, while
1644438d91eSRuslan Ermilov.Dq Li foo^D^Ebar
1659b50d902SRodney W. Grimescounted as 8 characters.
166753d686dSRuslan Ermilov.Bx 4
167753d686dSRuslan Ermilovsystems after
168753d686dSRuslan Ermilov.Bx 4.3
169753d686dSRuslan Ermilovmodified the implementation to be consistent
1709b50d902SRodney W. Grimeswith the documentation.
171f0dd79bcSRuslan ErmilovThis implementation defines a
172f0dd79bcSRuslan Ermilov.Dq word
173f0dd79bcSRuslan Ermilovin terms of the
174e58245f7STim J. Robbins.Xr iswspace 3
1759b50d902SRodney W. Grimesfunction, as required by
1769b50d902SRodney W. Grimes.St -p1003.2 .
177f45dd010SGiorgos Keramidas.Pp
178f45dd010SGiorgos KeramidasThe
179f45dd010SGiorgos Keramidas.Fl L
180f45dd010SGiorgos Keramidasoption is a non-standard
181f45dd010SGiorgos Keramidas.Fx
182f45dd010SGiorgos Keramidasextension, compatible with the
183f45dd010SGiorgos Keramidas.Fl L
184f45dd010SGiorgos Keramidasoption of the GNU
185f45dd010SGiorgos Keramidas.Nm
186f45dd010SGiorgos Keramidasutility.
1876c7216dfSRuslan Ermilov.Sh SEE ALSO
188c61e3115SMarcel Moolenaar.Xr iswspace 3 ,
189c61e3115SMarcel Moolenaar.Xr libxo 3 ,
190bf0df869SMarcel Moolenaar.Xr xo_parse_args 3
1919b50d902SRodney W. Grimes.Sh STANDARDS
1929b50d902SRodney W. GrimesThe
1938c85cce7SPhilippe Charnier.Nm
194e785a241STim J. Robbinsutility conforms to
195ebb42aeeSTim J. Robbins.St -p1003.1-2001 .
196b8923d4cSWolfram Schneider.Sh HISTORY
197b8923d4cSWolfram SchneiderA
198b8923d4cSWolfram Schneider.Nm
199b8923d4cSWolfram Schneidercommand appeared in
200b8923d4cSWolfram Schneider.At v1 .
201