命令使用格式:

wc  [options] file


例子走起

1 直接wc
[liuliancao@liuliancao exp]$ cat t1.txt 
1
aa bb 
4
[liuliancao@liuliancao exp]$ cat t1.txt | wc
      3       4      10
10 = 字符串的数(1+2+2+1) + 特殊字符(空格1 + 3*(\n)) = 6+4 = 10
这里要说明的是cut在非正常的空格数的情况下无法剪切,用awk比较好
[liuliancao@liuliancao exp]$ cat t8.txt | wc | cut -f2
      6       6      24
[liuliancao@liuliancao exp]$ cat t8.txt | wc | cut -f1
      6       6      24     
[liuliancao@liuliancao exp]$ cat t8.txt | wc | awk '{print $1}'
6
[liuliancao@liuliancao exp]$ cat t8.txt | wc | awk '{print $2}'
6
[liuliancao@liuliancao exp]$ cat t8.txt | wc | awk '{print $3}'
24
结论:会获得三个参数,第一个为行数(lines),第二个为单词数words,第三个为包括标点符号的总数(算上回车换行)

2 通常用它统计行数
[liuliancao@liuliancao exp]$ cat t1.txt 
1
a 我是 a bb 
4
你是谁
[liuliancao@liuliancao exp]$ cat t1.txt | wc -l
4
结论:-l参数可以统计行数

3 统计bytes
[liuliancao@liuliancao exp]$ cat t2.txt 
hellothisisabear
[liuliancao@liuliancao exp]$ cat t2.txt | wc -c
17
[liuliancao@liuliancao exp]$ cat -A t2.txt 
hellothisisabear$
结论:-c统计了bytes,17怎么算的呢:首先hell这些是ASCLL字符,所以在UTF-8里面是一个字节,而发现数了下才16个,最后一个是$,$的意思是换行\n,在windows里面是\n\r

4 统计单词数目
[liuliancao@liuliancao exp]$ cat t1.txt 
1
aa bb
4
[liuliancao@liuliancao exp]$ cat t1.txt | wc -w
4
结论:-w是统计单词数words