我们经常需要统计文件的行数、单词数和字符数。很多时候,这种统计结果被用于生成所需要的输出。本书的其他章节就包含了这样一些富有技巧性的实例。对开发人员来说,统计代码行数(LOC,Lines of Code)是一件经常要做的工作。我们可能需要对特定类型的文件进行统计,例如不包括目标文件在内的源代码文件。wc结合其他命令就可以帮助我们实现这种需求。
wc是一个用于统计行、单词和字符数量的实用工具。它是Word Count(单词计数)的缩写。
实战演练
wc支持多种选项来统计行数、单词数和字符数。
统计行数
wc -l file #统计文件中内容行数
[root@dev workspace]# lsecho if.sh output.txt showArgs.sh umq welcome.txtelse input.txt out.txt temp.txt variables.shgolang out.html printf.sh tools vitest[root@dev workspace]# wc -l output.txt1 output.txt[root@dev workspace]# wc -l out.html6501 out.html[root@dev workspace]#
将stdin作为输入且统计
如果需要将stdin作为输入,使用下列命令:
$ cat file | wc -l
[root@dev workspace]# cat out.html | wc -l6501[root@dev workspace]#
统计单词数
$ wc -w file$ cat file | wc -w
[root@dev workspace]# cat out.html | wc -w47826[root@dev workspace]#
统计字符数
$ wc -c file$ cat file | wc -c
[root@dev workspace]# cat out.html | wc -c1024100[root@dev workspace]#
我们可以按照下面的方法统计文本中的字符数:
echo -n 1234 | wc -c
[root@dev workspace]# echo -n 1234 | wc -c4[root@dev workspace]#
-n用于避免echo添加额外的换行符。
wc选项
不使用任何选项时,wc会打印出行、单词和字符的数量:
$ wc file1435 15763 112200
[root@dev workspace]# wc out.html6501 47826 1024100 out.html[root@dev workspace]#
这些分别是文件的行数、单词数和字符数。
输出文件中最长一行的长度
使用-L选项打印出文件中最长一行的长度:
$ wc file -L
[root@dev workspace]# wc out.html -L340 out.html[root@dev workspace]#
