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