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