在Linux和类似Unix的操作系统,wc命令允许您计算每个指定文件或标准输入的行数,字符数和字节数,并打印结果。

在本教程中,我们将wc通过简单的示例向您展示如何在Linux使用wc命令进行统计。

wc命令的语法形式是wc OPTION... [FILE]...wc命令可以接受零个或多个输入文件名称FILE

如果未指定文件FILE ,或者文件是-wc将读取标准输入。单词是由空格,制表符或换行符分隔的字符串。

不带任何选项是使用wc命令的最简单的形式,wc命令将打印四列,即行数,字数,字节数和每个文件名称。使用标准输入时,不显示文件名。

例如命令wc /proc/cpuinfo将显示虚拟文件/proc/cpuinfo统计信息,448是行数。3632是单词/字数。22226是字符数。

使用标准输入时,不显示文件名。要显示多个文件的统计信息,请将文件名作为参数传递,并以空格分隔。

wc /proc/cpuinfo
wc < /proc/cpuinfo
wc /proc/cpuinfo /proc/meminfo
448 3632 22226 /proc/cpuinfo
49 143 1363 /proc/meminfo
497 3775 23589 total

wc命令选项

这些选项可让您选择要打印的统计数。-l/--lines打印行数。-w/--words打印单词数。-m/--chars打印字符数。

-c/--bytes-打印字节数。-L/--max-line-length-打印最长行的长度。

使用多个选项时,将按顺序打印计数,换行符,单词,字符,字节,最大行长。

例如,仅打印单词数,请运行命令wc -w /proc/cpuinfo。另一个常见的示例是命令wc -lL /proc/cpuinfo它将打印行数和最长行的长度。

wc -w /proc/cpuinfo
wc -lL /proc/cpuinfo

--files0-from=F选项允许wc命令从文件中以NUL终止名称读取输入文件F。如果F-则从标准输入中读取名称。

例如,您可以使用find命令搜索文件,并将这些文件作为通过管道传递给wc。输出将显示/etc目录中所有名称以host开头的文件行数。

find /etc -name 'host*' -printf0 | wc -l --files0-from=-
4 /etc/host.conf
27 /etc/avahi/hosts
1 /etc/hostname
14 /etc/hosts
46 total

计算行数

wc命令通常与-l选项一起使用计算文本文件中的行数。例如,要计算/etc/passwd文件中的行数,请运行命令wc -l /etc/passwd

输出的第一列是行数,第二列是文件名。

wc -l /etc/passwd
44 /etc/passwd

计算字数

要仅计算文本文件中的单词数,请使用wc -w后跟文件名。下面的示例计算~/Documents/file.txt文件中的单词数。输出的第一列是单词数。

wc -l /etc/passwd
513 /home/myfreax/Documents/file.txt

统计文件

wc命令可以通过管道与其他命令结合使用。例如命令find . -type f | wc -l将会统计当前目录所有文件。

find命令搜索当前目录的所有文件,并将文件名一行行的输出到终端,也就是标准输出。

这是使用管道|,传递给wc命令对行数进行统计并显示结果。

find . -type f | wc -l

计算用户数

在下面的示例中wc,用于统计getent命令输出中的行数。

getent passwd | wc -l

结论

wc命令代表字数统计,语法非常简单。它使您可以计算一个或多个文本文件中的行数,单词数,字节数和字符数。

如果您有任何问题或反馈,请随时发表评论。