1.\" $OpenBSD: wc.1,v 1.20 2009/02/08 17:15:10 jmc Exp $ 2.\" 3.\" Copyright (c) 1991, 1993 4.\" The Regents of the University of California. All rights reserved. 5.\" 6.\" This code is derived from software contributed to Berkeley by 7.\" the Institute of Electrical and Electronics Engineers, Inc. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 3. Neither the name of the University nor the names of its contributors 18.\" may be used to endorse or promote products derived from this software 19.\" without specific prior written permission. 20.\" 21.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 25.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31.\" SUCH DAMAGE. 32.\" 33.\" from: @(#)wc.1 8.2 (Berkeley) 4/19/94 34.\" 35.Dd $Mdocdate: February 8 2009 $ 36.Dt WC 1 37.Os 38.Sh NAME 39.Nm wc 40.Nd word, line, and byte or character count 41.Sh SYNOPSIS 42.Nm wc 43.Op Fl c | m 44.Op Fl hlw 45.Op Ar file ... 46.Sh DESCRIPTION 47The 48.Nm 49utility reads one or more input text files, and, by 50default, writes the number of lines, words, and bytes 51contained in each input file to the standard output. 52If more than one input file is specified, 53a line of cumulative count(s) for all named files is output on a 54separate line following the last file count. 55.Nm 56considers a word to be a maximal string of characters delimited by 57whitespace. 58Whitespace characters are the set of characters for which the 59.Xr isspace 3 60function returns true. 61.Pp 62The options are as follows: 63.Bl -tag -width Ds 64.It Fl c 65The number of bytes in each input file 66is written to the standard output. 67.It Fl h 68Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, 69Petabyte, and Exabyte in order to reduce the number of digits to four or fewer 70using powers of 2 for sizes (K=1024, M=1048576, etc.). 71.It Fl l 72The number of lines in each input file 73is written to the standard output. 74.It Fl m 75The number of characters in each input file 76is written to the standard output. 77.It Fl w 78The number of words in each input file 79is written to the standard output. 80.El 81.Pp 82When an option is specified, 83.Nm 84only reports the information requested by that option. 85The default action is equivalent to the flags 86.Fl clw 87having been specified. 88The 89.Fl c 90and 91.Fl m 92options are mutually exclusive. 93.Pp 94If no file names are specified, the standard input is used 95and a file name is not output. 96The resulting output is one 97line of the requested count(s) with the cumulative sum 98of all files read in via standard input. 99.Pp 100By default, the standard output contains a line for each 101input file of the form: 102.Bd -literal -offset indent 103lines words bytes file_name 104.Ed 105.Pp 106If the 107.Fl m 108option is specified, 109the number of bytes is replaced by 110the number of characters in the listing above. 111The counts for lines, words, and bytes 112.Pq or characters 113are integers separated by spaces. 114.Pp 115.Ex -std wc 116.Sh SEE ALSO 117.Xr isspace 3 118.Sh STANDARDS 119The 120.Nm 121utility is compliant with the 122.St -p1003.1-2008 123specification. 124.Pp 125The flag 126.Op Fl h 127is an extension to that specification. 128.Pp 129Historically, the 130.Nm 131utility was documented to define a word as a ``maximal string of 132characters delimited by 133.Aq space , 134.Aq tab 135or 136.Aq newline 137characters''. 138The implementation, however, didn't handle non-printing characters 139correctly so that `` ^D^E '' counted as 6 spaces, while ``foo^D^Ebar'' 140counted as 8 characters. 1414BSD systems after 4.3BSD modified the implementation to be consistent 142with the documentation. 143This implementation defines a 144.Dq word 145in terms of the 146.Xr isspace 3 147function, as required by 148.St -p1003.2-92 . 149.Sh HISTORY 150A 151.Nm 152utility appeared in 153.At v1 . 154