Linux 下如何使用 wc 命令

wc 是 Word Count 的缩写,顾名思义,它主要是用来计数的命令

wc 命令统计单词数时,单词之间是以一个或多个空格、制表符、换行符分隔开的。统计字符数时,字母、数字、以及空格、制表符和换行符都计算在内。统计行数时,仅当一行以换行符结尾时才进行计数

语法

wc [OPTION]... [FILE]...

统计终端输入

语法中的 [OPTION] 以及 [FILE] 是可选的,也就是说在终端上输入 wc 命令并回车,这时候统计的是从键盘输入终端中的字符,再次按回车键,然后按 Ctrl + D 会输出统计的结果,具体如下图所示:

当输入第二行的 ab之后按回车键,同时按 Ctrl + D就会输出统计的结果,结果按列分别表示: 2行、4个单词、12个字节

统计行数

-l 选项可以获得指定文件内容的行数,每行以回车键作为结尾进行统计

[root@ecs-centos-7 tt]# cat a.txt 
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# wc -l a.txt 
3 a.txt

上面例子中,a.txt 总共有3行,输出的结果中第一列显示总行数,第二列显示统计的文件名

统计字节数

下面的例子中, 统计 c.txt 的字节数和 ls -lh 输出的字节数相同

[root@ecs-centos-7 tt]# ls -lh c.txt 
-rw-r--r-- 1 root root 7 Aug  8 20:24 c.txt
[root@ecs-centos-7 tt]# wc -c c.txt 
7 c.txt

统计字符数

通过 -m 选项可以统计文件的字符数,下面例子中,b.txt 文件内容只有一个汉字,所以输出的字符数是2(一个汉字算两个字符)

[root@ecs-centos-7 tt]# cat b.txt 
你
[root@ecs-centos-7 tt]# wc -m b.txt 
2 b.txt

统计最长一行的字符数

-L 选项可以统计文件内容中,所有行中字符数最多那一行的字符数

[root@ecs-centos-7 tt]# cat a.txt 
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# wc -L a.txt 
11 a.txt

上面的例子中, a.txt 字符数最多的是第二行,它总共有11个字符(空格也当作一个字符)

统计单词数

统计单词数时,是以一个或多个空格、制表符、换行符作为分隔符的,也就是说,只要连续的字符之间出现空格、制表符、换行符中任一个字符,都当做两个单词计数

[root@ecs-centos-7 tt]# cat a.txt 
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# wc -w a.txt 
6 a.txt

上面的例子中,a.txt 总共3行,第一行有两个单词,第二行有三个读单词,第三行有一个单词,总共是六个单词

统计多个文件

除了指定单个文件以外,还可以指定多个文件,每个文件之间以空格隔开,结果会分别显示每个文件的统计信息以及所有文件的统计信息

[root@ecs-centos-7 tt]# cat a.txt 
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# cat b.txt 
你
[root@ecs-centos-7 tt]# wc -w a.txt b.txt 
 6 a.txt
 1 b.txt
 7 total

上面例子中,统计 a.txt 和 b.txt 中的单词数,结果是按照统计文件的顺序显示的,第一行是 a.txt 的单词数,第二行是 b.txt 的单词数,第三行是 a.txt 和 b.txt 单词总和

统计目录中对象数

通过和 ls命令组合使用可以用于统计指定目录中的对象(文件,链接和目录),下面的例子中,wc -l 命令计算ls命令结果的行数,具体的如下所示:

[root@ecs-centos-7 tt]# ls
a.txt  b.txt  c.txt  tmp
[root@ecs-centos-7 tt]# ls | wc -l
4
原文地址:https://www.cnblogs.com/wanng/p/linux-wc-command.html