wc.1

WC(1)

WC(1)

FreeBSD General Commands Manual

WC(1)

wc

字、行、字符和字节数

wc [--libxo] [-Lclmw] [file ...]

wc 实用程序将每个输入 file 或标准输入(如果未指定文件)中包含的行数、字数和字节数显示到标准输出。 行定义为由 ⟨newline⟩ 字符分隔的字符串。 超出最后一个 ⟨newline⟩ 字符的字符将不计入行数。 单词被定义为由空白字符分隔的字符串。

空白字符是 iswspace(3) 函数对其返回 true 的字符集。 如果指定了多个输入文件,则所有文件的累积计数行将显示在最后一个文件的输出之后的单独行上。

可以使用以下选项:

--libxo

通过 libxo(3) 以不同的人类和机器可读格式生成输出。 有关命令行参数的详细信息,请参阅 xo_parse_args(3) 。

-L

将包含最多字节(默认)或字符(当提供 -m 时)的行的长度写入标准输出。 当指定多个 file 参数时, all 文件中最长的输入行将报告为最终 “total” 的值。

-c

每个输入文件中的字节数被写入标准输出。 这将取消之前对 -m 选项的任何使用。

-l

每个输入文件中的行数被写入标准输出。

-m

每个输入文件中的字符数被写入标准输出。 如果当前语言环境不支持多字节字符,则这等效于 -c 选项。 这将取消之前对 -c 选项的任何使用。

-w

每个输入文件中的字数被写入标准输出。

当指定一个选项时, wc 只报告该选项请求的信息。 输出顺序始终采用行、字、字节和文件名的形式。 默认操作等同于指定 -c, -l-w 选项。

如果没有指定文件,则使用标准输入并且不显示文件名。 提示将接受输入,直到收到 EOF,或在大多数环境中为 [^D] 。

如果 wc 接收到 SIGINFO (参见 stty(1) 的 status 参数)信号,则中间数据将以与标准完成消息相同的格式写入标准错误输出。

LANG, LC_ALLLC_CTYPE 环境变量影响 wc 的执行,如 environ(7) 中所述。

The wc utility exits 0 on success, and >0 if an error occurs.

计算每个文件 report1 和 report2 中的字符数、单词数和行数以及两者的总数:

wc -mlw report1 report2

查找文件列表中最长的行:

wc -L file1 file2 file3 | fgrep total

从历史上看, wc 实用程序被记录为将单词定义为 “由 、 或 字符分隔的最大字符串” 。 然而,该实现没有正确处理非打印字符,因此 “^D^E” 计为 6 个空格,而 “foo^D^Ebar” 计为 8 个字符。 4.3BSD 之后的 4BSD 系统修改了实现以与文档保持一致。 根据 IEEE Std 1003.2 (“POSIX.2”) 的要求,此实现根据 iswspace(3) 函数定义了一个 “word” 。

-L 选项是一个非标准的 FreeBSD 扩展,与 GNU wc 实用程序的 -L 选项兼容。

iswspace(3), libxo(3), xo_parse_args(3)

wc 实用程序符合 IEEE Std 1003.1-2001 (“POSIX.1”) 。

wc 命令出现在 Version 1 AT&T UNIX 。

April 11, 2020

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区