wc (Unix)
![]() The wc command | |
Original author(s) | Joe Ossanna (AT&T Bell Laboratories) |
---|---|
Developer(s) | Various open-source and commercial developers |
Initial release | November 3, 1971 |
Operating system | Unix, Unix-like, V, Plan 9, Inferno, MSX-DOS, IBM i |
Platform | Cross-platform |
Type | Command |
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 countwc -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 countwc -w <filename>
prints the word countwc -L <filename>
prints the length of the longest line (GNU extension)
See also
References
- ^ The Single UNIX Specification, Version 5 from The Open Group – Shell and Utilities Reference,
- ^ FreeBSD General Commands Manual –
- ^ https://linux.die.net/man/1/wc
- ^ MSX-DOS2 Tools User's Manual by ASCII Corporation
- ^ CoreUtils for Windows
- ^ Native Win32 ports of some GNU utilities
- ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.
{{cite web}}
: CS1 maint: url-status (link)
External links
- wc(1) - Original Unix First Edition manual page for wc.
- Linux User Commands Manual –
- Plan 9 Programmer's Manual, Volume 1 –
- Inferno General commands Manual –
- The wc Command by The Linux Information Project (LINFO)