Format
wc [–Blw]
[–c|–m] [-W option[,option]...] [file …file …]
Description
wc tells
you how large a text document is. It counts the number of newlines,
words, characters, and bytes in text files. If you specify multiple
files, wc produces counts for each file,
plus totals for all files. If you do not specify any files, wc reads
from the standard input (stdin).
Options
- –B
- Disables the automatic conversion of tagged files. This option
is ignored if the filecodeset or pgmcodeset options
(-W option) are specified.
- –c
- Prints a byte count. You cannot specify this option with –m.
- –l
- Prints a <newline> count
- –m
- Prints a character count. You cannot specify this option with –c.
- –w
- Prints a word count
- -W option[,option]...
- Specifies z/OS-specific options. The option keywords are case-sensitive. Possible
options are:
- filecodeset=codeset
- Performs text conversion from one code set to another when reading
from the file. The coded character set of the file is codeset. codeset can
be a code set name known to the system or a numeric coded character
set identifier (CCSID). Note that the command iconv -l lists
existing CCSIDs along with their corresponding code set names. The filecodeset and pgmcodeset options
can be used on files with any file tag.
If pgmcodeset is
specified but filecodeset is omitted, then
the default file code set is ISO8859-1 even if the file is tagged
with a different code set. If neither filecodeset nor pgmcodeset is
specified, text conversion will not occur unless automatic conversion
is enabled or the _TEXT_CONV environment variable indicates text conversion.
For more information about text conversion, see Controlling text conversion for z/OS UNIX shell commands.
If filecodeset or pgmcodeset is
specified, then automatic conversion is disabled for this command
invocation and the -B option is ignored
if it is also specified. See z/OS UNIX System Services Planning for
more information about automatic conversion.
When specifying values for filecodeset,
use the values that Unicode Service supports. For more information
about supported code sets, see z/OS Unicode Services User's Guide and Reference.
- pgmcodeset=codeset
- Performs text conversion from one code set to another when reading
from the file. The coded character set of the program (command) is codeset. codeset can
be a code set name known to the system or a numeric coded character
set identifier (CCSID). Note that the command iconv -l lists
existing CCSIDs along with their corresponding code set names. The filecodeset and pgmcodeset options
can be used on files with any file tag.
If filecodeset is
specified but pgmcodeset is omitted, then
the default program code set is IBM-1047. If neither filecodeset nor pgmcodeset is
specified, text conversion will not occur unless automatic conversion
is enabled or the _TEXT_CONV environment variable indicates text conversion.
For more information about text conversion, see Controlling text conversion for z/OS UNIX shell commands.
If filecodeset or pgmcodeset is
specified, then automatic conversion is disabled for this command
invocation and the -B option is ignored
if it is also specified. See z/OS UNIX System Services Planning for
more information about automatic conversion.
Restriction: The
only supported values for pgmcodeset are
IBM-1047 and 1047.
The order of options can dictate the order in
which wc displays counts. For example, wc
–cwl displays the number of bytes, then the number of
words, then the number of <newline>s. If you do not specify
any options, the default is wc –lwc (<newline>
count, then words, then bytes).
A word is considered to be a
character or characters delimited by white space.
Note: If
you have a file containing double-byte characters, the byte count
is higher than the character count.
Examples
- To display the <newline> count, followed by the word count,
followed by the byte count of a text file to the standard output (stdout):
wc myTextFile
- To display a byte count followed by a word count of a text file
containing ASCII characters to the standard output (stdout), assuming
that:
- The text file is untagged and you do not want to tag it or enable
automatic conversion, and
- You cannot alter the tag (for example, you are displaying an untagged
public text file or a read-only text file):
wc -cw -W filecodeset=ISO8859-1,pgmcodeset=IBM-1047 myAsciiFile
- To display the <newline> count of a text file containing
EBCDIC characters, assuming that automatic conversion has been enabled
but the text file is incorrectly tagged as UTF-8:
wc -lB myMisTaggedFile
Localization
wc uses
the following localization environment variables:
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- NLSPATH
See Localization for more
information.
Environment variables
wc uses
the following environment variable:
- _TEXT_CONV
- Contains text conversion information for the command. The text
conversion information is not used when either the -B option
or the filecodeset or pgmcodeset option
(-W option) is specified. For more information
about text conversion, see Controlling text conversion for z/OS UNIX shell commands.
Exit values
- 0
- Successful completion
- 1
- Failure due to any of the following:
- Inability to open the input file
- The code set is not valid
- Could not turn off automatic conversion
- Could not perform requested text conversion
- 2
- Failure because of an incorrect command-line option
Portability
POSIX.2, X/Open Portability Guide, UNIX systems.
The
way the order of options –c, –l and –w affects
the order of display is an extension to traditional implementations
of wc. The -B and -W options
are extensions of the POSIX standard.
Related information
awk, ed, vi