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