首页>教程>Linux 命令手册> 文件内容查看与处理 >Linux wc 命令 - 统计文本的字数 字符数或行数

Linux wc 命令 - 统计文本的字数 字符数或行数

wc 命令(英文全称为 Word Count)是 Linux / Unix 系统中用于文本各种计数统计的命令,它能够统计指定文本中的换行数、单词数、字节数、字符数、最长行的长度等信息,可以同时统计多个文件的信息,也可以统计标准输入的内容,是非常好用的一款文本计数统计工具。

本文将全面的讲解 wc 命令的语法结构、使用示例、所有的选项,即使是零基础也能快速掌握 wc 命令的用法。

wc 命令语法结构

wc 命令支持两种标准语法格式,可以适配不同的使用场景:

wc [选项]... [文件]...
wc [选项]... --files0-from=F

语法各部分的说明:

  • [选项]...:可选的内容,用于指定统计的维度,可以同时使用多个选项
  • [文件]...:可选的内容,用于指定需要统计的文件,如果指定多个文件,使用空格分隔,如果不指定文件从标准输入读取内容
  • --files0-from=F:从文件 F 中读取以 NUL 结尾的文件名列表作为指定的文件,再读取这些文件进行统计,NUL 是 ASCII码 0 对应的字符,当为F 指定为 - 时从标准输入读取文件名的列表

wc 命令示例

如下给出一些 wc 命令的使用示例,简洁明了的说明如何使用 wc 命令。

默认统计

不使用任何的选项,直接运行命令,会统计多项信息:

wc test.txt

会依次输出 test.txt 的「换行数、单词数、字节数、文件名」。

只统计文件的行数

使用 -l--lines 选项,只统计换文件包含的换行数:

wc -l test.txt

只统计文件的单词数

使用 -w--words 选项,只统计换文件包含的单词数:

wc -w test.txt

只统计文件占用的字节数

使用 -c--bytes 选项,只统计换文件占用的字节数:

wc -c test.txt

只统计文件的字符数

使用 -m--chars 选项,只统计换文件包含的字符数:

wc -m test.txt

[!NOTE]

在统计字符数时,如果包含中文字符,1 字符占用 3 字节

统计文件列表中各文件的信息

使用 --files0-from=F 选项指定从 F 文件中读取文件列表,再统计各文件的信息,但是各个文件名要求以 NUL(ASCII码 0)结尾,然而 NUl 无法直接在文本编辑器中使用,因此需要在 shell 或 PowerShell 中生成 F 文件。

1)在 shell 中生成 files.txt 文件:

printf 'file1.txt\0file2.txt\0' > files.txt

2)使用 --files0-from=F 选项,统计多文件的信息:

wc --files0-from=files.txt

每个输出一个文件的信息,会输出类似如下的信息:

 3  6 51 file1.txt
 3  4 35 file2.txt
 6 10 86 总计

wc 命令选项详解

wc 命令结合选项可以统计特定的信息,如下给出其全部选项的解释说明:

选项功能说明
-c, --bytes只输出文件占用的字节数
-m, --chars只输出文件包含的字符数,当包含中文字符时,1 个中文字符会占用 3 个字节
-l, --lines只输出文件包含的的换行符数,会比实际的行数少 1
-L, --max-line-length只输出文件中的最长的行的显示宽度
-w, --words只输出文件包含的单词数,把使用空格分隔的内容作为一个单词,如果是中文连写会作为一个单词
--files0-from=F从文件 F 中读取以 NUL 结尾的文件名列表,作为统计对象;当 F 指定为 - 时从标准输入读取文件名
--total=WHEN输出一行显示总计信息的时机:
auto:多文件自动显示,该值是默认值
always:始终显示
only:仅显示总计
never:从不显示
--help显示命令的帮助信息并退出
--version显示命令的版本信息并退出

结语

wc 命令是 Linux / Unix 系统中的一款轻量、高效的文本信息统计工具,可以非常简便的统计文本中行数、单词数、字节数等信息,是文本处理需要掌握的一款命令。