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

在本教程中,我们将wc通过简单而实际的示例向您展示如何使用命令。

如何使用wc命令

wc命令的语法如下:

wc OPTION... [FILE]...

wc命令可以接受零个或多个输入FILE名称。如果未FILE指定no ,或者FILE-wc则将读取标准输入。单词是由空格,制表符或换行符分隔的字符串。

以最简单的形式使用时,如果不带任何选项,wc命令将打印四列,即行数,字数,字节数和每个文件名作为参数传递的文件名。使用标准输入时,不显示第四列(文件名)。

例如,以下命令将显示有关虚拟文件的信息/proc/cpuinfo

wc /proc/cpuinfo

输出将类似于以下内容:

448 3632 22226 /proc/cpuinfo
  • 448是行数。
  • 3632是单词/字数。
  • 22226是字符数。

使用标准输入时,不显示文件名:

wc < /proc/cpuinfo
448 3632 22226

要显示有关多个文件的信息,请将文件名作为参数传递,并以空格分隔:

wc /proc/cpuinfo

该命令将为您提供有关每个文件的信息以及包括总统计信息的一行:

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

以下选项可让您选择要打印的计数。

  • -l--lines-打印行数。
  • -w--words-打印单词数。
  • -m--chars-打印字符数。
  • -c--bytes-打印字节数。
  • -L--max-line-length-打印最长行的长度。

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

例如,仅显示单词数,您将使用:

wc -w /proc/cpuinfo
3632 /proc/cpuinfo

这是另一个示例,它将打印行数和最长行的长度。

wc -lL /proc/cpuinfo
448 792 /proc/cpuinfo

--files0-from=F选项允许wc从file中以NUL终止的名称指定的文件中读取输入F。如果F-则从标准输入中读取名称。例如,您可以使用find命令搜索文件,并将这些文件作为输入提供给wc

find /etc -name 'host*' -printf0 | wc -l --files0-from=-

输出将显示/etc目录中所有名称以“ host”开头的文件的行数:

4 /etc/host.conf
27 /etc/avahi/hosts
1 /etc/hostname
14 /etc/hosts
46 total

计算行数

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命令示例

wc命令可以通过管道与其他命令结合使用。这里有一些例子。

计算当前目录中的文件

find命令将当前目录中所有文件的列表以及每个文件名放在一行中传递给wc命令,该命令对行数进行计数并显示结果:

find . -type f | wc -l

计算用户数

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

getent passwd | wc -l

结论

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

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

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持