在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
命令代表字数统计,语法非常简单。它使您可以计算一个或多个文本文件中的行数,单词数,字节数和字符数。
如果您有任何问题或反馈,请随时发表评论。