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