wc 是 Word Count 的縮寫,顧名思義,它主要是用來計數的命令
wc 命令統計單詞數時,單詞之間是以一個或多個空格、制表符、換行符分隔開的。統計字符數時,字母、數字、以及空格、制表符和換行符都計算在內。統計行數時,僅當一行以換行符結尾時才進行計數
語法
wc [OPTION]... [FILE]...
統計終端輸入
語法中的 [OPTION] 以及 [FILE] 是可選的,也就是說在終端上輸入 wc 命令並回車,這時候統計的是從鍵盤輸入終端中的字符,再次按回車鍵,然后按 Ctrl + D
會輸出統計的結果,具體如下圖所示:
當輸入第二行的 ab
之后按回車鍵,同時按 Ctrl + D
就會輸出統計的結果,結果按列分別表示: 2行、4個單詞、12個字節
統計行數
-l
選項可以獲得指定文件內容的行數,每行以回車鍵作為結尾進行統計
[root@ecs-centos-7 tt]# cat a.txt
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# wc -l a.txt
3 a.txt
上面例子中,a.txt 總共有3行,輸出的結果中第一列顯示總行數,第二列顯示統計的文件名
統計字節數
下面的例子中, 統計 c.txt 的字節數和 ls -lh
輸出的字節數相同
[root@ecs-centos-7 tt]# ls -lh c.txt
-rw-r--r-- 1 root root 7 Aug 8 20:24 c.txt
[root@ecs-centos-7 tt]# wc -c c.txt
7 c.txt
統計字符數
通過 -m
選項可以統計文件的字符數,下面例子中,b.txt 文件內容只有一個漢字,所以輸出的字符數是2(一個漢字算兩個字符)
[root@ecs-centos-7 tt]# cat b.txt
你
[root@ecs-centos-7 tt]# wc -m b.txt
2 b.txt
統計最長一行的字符數
-L
選項可以統計文件內容中,所有行中字符數最多那一行的字符數
[root@ecs-centos-7 tt]# cat a.txt
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# wc -L a.txt
11 a.txt
上面的例子中, a.txt 字符數最多的是第二行,它總共有11個字符(空格也當作一個字符)
統計單詞數
統計單詞數時,是以一個或多個空格、制表符、換行符作為分隔符的,也就是說,只要連續的字符之間出現空格、制表符、換行符中任一個字符,都當做兩個單詞計數
[root@ecs-centos-7 tt]# cat a.txt
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# wc -w a.txt
6 a.txt
上面的例子中,a.txt 總共3行,第一行有兩個單詞,第二行有三個讀單詞,第三行有一個單詞,總共是六個單詞
統計多個文件
除了指定單個文件以外,還可以指定多個文件,每個文件之間以空格隔開,結果會分別顯示每個文件的統計信息以及所有文件的統計信息
[root@ecs-centos-7 tt]# cat a.txt
ab 112
qwe rty uio
0987
[root@ecs-centos-7 tt]# cat b.txt
你
[root@ecs-centos-7 tt]# wc -w a.txt b.txt
6 a.txt
1 b.txt
7 total
上面例子中,統計 a.txt 和 b.txt 中的單詞數,結果是按照統計文件的順序顯示的,第一行是 a.txt 的單詞數,第二行是 b.txt 的單詞數,第三行是 a.txt 和 b.txt 單詞總和
統計目錄中對象數
通過和 ls
命令組合使用可以用於統計指定目錄中的對象(文件,鏈接和目錄),下面的例子中,wc -l
命令計算ls
命令結果的行數,具體的如下所示:
[root@ecs-centos-7 tt]# ls
a.txt b.txt c.txt tmp
[root@ecs-centos-7 tt]# ls | wc -l
4