Linux中的Wc命令(计算行数,单词数和字符数)
在Linux和类似Unix的操作系统上,使用'wc'命令可以计算每个给定文件或者标准输入的行数,单词数,字符数和字节数,并打印结果。
在本教程中,我们将通过简单而实际的示例向我们展示如何使用'wc'命令。
如何使用“ wc”命令
'wc'命令的语法如下:
wc OPTION... [FILE]...
'wc'命令可以接受零个或者多个输入'FILE'名称。
如果未指定“ FILE”,或者当“ 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 /proc/meminfo
该命令将为我们提供有关每个文件的信息,以及包含总统计信息的一行:
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'从文件'F'中以NUL结 tail的名称指定的文件中读取输入。
如果“ 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/theitroad/Documents/file.txt
Wc命令示例
“ wc”命令可以通过管道与其他命令结合使用。
这里有一些例子。
计算当前目录中的文件
'find'命令将当前目录中所有文件的列表(每个文件名放在一行中)传递给'wc'命令,该命令对行数进行计数并显示结果:
find . -type f | wc -l
计算用户数
在下面的示例中,“ wc”用于计算“ getent”命令输出中的行数。
getent passwd | wc -l