文章目录
- 命令介绍
 - 选项参数
 - 示例
 - (一)统计当前目录下的所有文件的行数
 - (二)统计当前目录下的文件总数
 - (三)显示某个文件的行数
 - (四)显示某个文件的行数、单词数、字节数
 - (五)统计当前目录以及子目录的所有文件行数
 - (六)打印最长行的长度
 
命令介绍
wc 命令统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用 wc 指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则 wc 指令会从标准输入设备读取数据。 wc 同时也给出所指定文件的总统计数。
选项参数
| 选项 | 说明 | 
|---|---|
-w 或 --words | 统计字数,只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串 | 
-c 或 --bytes 或 --chars | 统计字节数,只显示Bytes数 | 
-l 或 --lines | 统计行数,只显示行数 | 
-m | 统计字符数 | 
-L | 打印最长行的长度 | 
--help | 显示帮助信息 | 
--version | 显示版本信息 | 
示例
(一)统计当前目录下的所有文件的行数
[root@htlwk0001host test]# wc -l *0 m12.c3 Person.class3 person.jar5 Person.java88 td_dictionary_20210523.sql
wc: test1: 是一个目录0 test117 text0.txt17 text1.txt1684 text2.txt16 text3.txt1 text.txt550 tf_company_20210603.sql124 tf_user_20210523.sql2508 总用量
 
(二)统计当前目录下的文件总数
[root@htlwk0001host test]# ls -l | wc -l
14
 
注:ls -l 是按列表来显示文件属性信息,每行显示一个文件的属性信息,而 wc -l 就是统计行数而已,所以相当于统计了文件数。
(三)显示某个文件的行数
[root@htlwk0001host test]# wc -l text.txt
1 text.txt
 
(四)显示某个文件的行数、单词数、字节数
[root@htlwk0001host test]# wc text.txt1  3 19 text.txt
 
注: 行数 1,单词数 3,字节数 19,文件名 text.txt。
(五)统计当前目录以及子目录的所有文件行数
[root@htlwk0001host test]# find  . * | xargs wc -l
 
说明:
.是当前目录,默认 find 会在指定目录及其子目录下搜索*表示所有文件,包含目录文件find搜索的结果会输入到管道中|xargs会从管道|读取数据,并且转换成命令行参数,即转换成后面的命令wc的参数。假设,find找到两个文件,Person.java、Man.java,xargs读取到这两个文件名后,就转成参数传递给命令wc,命令wc的执行语句就变成wc -l Person.java Man.java,即统计这两个文件的行数,如果去掉xargs,则wc从管道读取数据,而不会把读取到的数据处理成命令参数,读取的数据是多少行就统计多少行
(六)打印最长行的长度
[root@linuxcool ~]# cat test.txt hello worldhello worldhello worldhello world hello world
[root@linuxcool ~]# wc -L test.txt 23 test.txt