文章目录
- 命令介绍
- 选项参数
- 示例
- (一)统计当前目录下的所有文件的行数
- (二)统计当前目录下的文件总数
- (三)显示某个文件的行数
- (四)显示某个文件的行数、单词数、字节数
- (五)统计当前目录以及子目录的所有文件行数
- (六)打印最长行的长度
命令介绍
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