Jump to content

wc (Unix)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 2001:16a2:c149:1024:fda6:3a1a:232d:4db0 (talk) at 20:54, 25 January 2021. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
wc
Original author(s)Joe Ossanna
(AT&T Bell Laboratories)
Developer(s)Various open-source and commercial developers
Initial releaseNovember 3, 1971; 53 years ago (1971-11-03)
Operating systemUnix, Unix-like, V, Plan 9, Inferno, MSX-DOS, IBM i
PlatformCross-platform
TypeCommand

wc (short for word count) is a command in Unix, Plan 9, Inferno, and Unix-like operating systems. The program reads either standard input or a list of computer files and generates one or more of the following statistics: newline count, word count, and byte count. If a list of files is provided, both individual file and total statistics follow.

Example

Sample execution of wc:

 $ wc foo bar

The first column is the count of newlines, meaning that the text file foo has 40 newlines while bar has 2294 newlines- resulting in a total of 2334 newlines. The second column indicates the number of words in each text file showing that there are 149 words in foo and 16638 words in bar – giving a total of 16787 words. The last column indicates the number of characters in each text file, meaning that the file foo has 947 characters while bar has 97724 characters – 98671 characters all in all.

Newer versions of wc can differentiate between byte and character count. This difference arises with Unicode which includes multi-byte characters. The desired behaviour is selected with the -c or -m options.

History

wc is part of the X/Open Portability Guide since issue 2 of 1987. It was inherited into the first version of POSIX.1 and the Single Unix Specification.[1] It appeared in Version 1 Unix.[2]

GNU wc used to be part of the GNU textutils package; it is now part of GNU coreutils. The version of wc bundled in GNU coreutils was written by Paul Rubin and David MacKenzie.[3]

A wc command is also part of ASCII's MSX-DOS2 Tools for MSX-DOS version 2.[4]

The command is available as a separate package for Microsoft Windows as part of the GnuWin32 project[5] and the UnxUtils collection of native Win32 ports of common GNU Unix-like utilities.[6]

The wc command has also been ported to the IBM i operating system.[7]

Usage

  • wc -c <filename> prints the byte count
  • wc -l <filename> prints the line count (note that if the last line does not have \n, it will not be counted)
  • wc -m <filename> prints the character count
  • wc -w <filename> prints the word count
  • wc -L <filename> prints the length of the longest line (GNU extension)

See also

References

  1. ^ wc – Shell and Utilities Reference, The Single UNIX Specification, Version 5 from The Open Group
  2. ^ wc(1) – FreeBSD General Commands Manual
  3. ^ https://linux.die.net/man/1/wc
  4. ^ MSX-DOS2 Tools User's Manual by ASCII Corporation
  5. ^ CoreUtils for Windows
  6. ^ Native Win32 ports of some GNU utilities
  7. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.{{cite web}}: CS1 maint: url-status (link)