1.命令作用
打印文件的行数、单词数、字节数,如果指定了多个文件,还会打印以上三种数据的总和(Print newline, word, and byte counts for each FILE, and a total line if more than one FILE is specified)
2.命令语法
Usage: wc [OPTION]... [FILE]...
or: wc [OPTION]... --files0-from=F
3.参数详解
OPTION:
- -c, --bytes,打印字节数
- -m, --chars,打印字符数
- -l, --lines,打印行数
- --files0-from=F/-,F代表一个文件名,文件名内容为多个文件的名称,用于获取多个文件的行数、单词数、字节数,多个文件以一个零字节(ASCII NUL)结束;当使用 - 时,以其他输出为输入,如find使用-print0参数
- -L, --max-line-length,打印最长行的长度
- -w, --words,打印单词数
4.常用用例
4.1.常见的用例
## 不加参数,会依次打印行数、单词数、字节数
[root@node2 Desktop]# wc test.txt 5 44 245 test.txt## 多个文件时,最后会打印total总计数据
[root@node2 Desktop]# wc test.txt test1.txt 5 44 245 test.txt8 9 57 test1.txt13 53 302 total## 常用参数-l 用于查看文件行数
[root@node2 Desktop]# wc -l test.txt
5 test.txt## 常用参数-L 用于查看文件中最长的行的长度
[root@node2 Desktop]# wc -L test.txt
72 test.txt
4.2.有用但不常见的用例
## --files0-from=F 参数使用
## vi打开文件如下,"^@"是一个字符,vi中输入方法为Ctrl+v,然后接着 Ctrl+@
[root@node2 Desktop]# vi file
test1.txt^@test2.txt^@test3.txt^@
~
~
~
~
~
~
~
~
"file" [noeol] 1L, 30C
[root@node2 Desktop]# cat file ## cat查看如下
test1.txttest2.txttest3.txt
[root@node2 Desktop]#
[root@node2 Desktop]# truncate -s -1 file ## 删除文件最后一个字符(换行符)
[root@node2 Desktop]#
[root@node2 Desktop]# cat file ## 再次查看与上面对比
test1.txttest2.txttest3.txt[root@node2 Desktop]#
[root@node2 Desktop]#
[root@node2 Desktop]# wc --files0-from=file ## 可正常指定文件列表进行统计8 9 57 test1.txt9 9 63 test2.txt4 4 28 test3.txt21 22 148 total
[root@node2 Desktop]# #########################################################################
#########################################################################
## --files0-from=- 参数使用
## find中-print0参数的作用是在输出文件名时使用null字符(\0)作为分隔符,而不是换行符
[root@node2 Desktop]# find . -name '*.txt' -print0 | wc -l --files0-from=-
4 ./test3.txt
9 ./test2.txt
8 ./test1.txt
5 ./test.txt
26 total