wc命令——Linux系統高效數據統計工具

wc(world count)是一個統計文件字詞,字節,行數的Linux命令,它能夠幫咱們很是方便的統計以上信息。

主要參數linux

常見參數以下:chrome

  • -c 統計字節數。
  • -l 統計行數。
  • -m 統計字符數。這個標誌不能與 -c 標誌一塊兒使用。
  • -w 統計字數。注意,這裏的字指的是由空格,換行符等分隔的字符串。

咱們接下來直接看幾個實例。編程

統計文件行數,詞數和字節數google

$ wc test.txt 
1 1 7 test.txt

打印結果代表該文件有1行,1個詞,7字節。編碼

要特別提醒的是,這裏的詞是以空格,換行符等分隔開的字符串,也就是說code

words 字詞

這裏只有兩個詞。進程

僅統計文件行數,詞數,字符數或字節數字符串

僅統計單項內容時,僅須要帶上對應的參數便可,例如:get

$ wc -l test.txt
1 test.txt

使用-l參數,使得只顯示行數。table

可是這裏特別要注意的是字符數和字節數的區別。字節數是數據佔用的空間大小,而一個字符可能佔多個字節,例如,UTF-8編碼中,一個英文字母就是一個字符,佔用空間一個字節,而一箇中文,則佔用3字節大小。

舉個例子:

編程

編程,在這裏是兩個字符,而佔用空間是6字節,可是使用wc -m統計會比兩個多一個,是3個字符。

$ echo 編程|wc -m
3
$ echo 編程|wc -c
7

各編碼字符佔用字符狀況以下:

編碼 英文字母 中文
UTF-8 1字節 3字節
Unicode 1字節 2字節

你可使用:

$ echo $LANG
en_GB.UTF-8

查看編碼格式。

統計命令執行結果數量

實際上我的認爲,最經常使用的仍是-l參數,它用來統計文件或標準輸出有多少行,那麼實際上就能夠用來作不少統計的事情了。

例如,統計當前目錄下有多少個普通文件:

$ ls -l
total 4
-rw-rw-r-- 1 hyb hyb  0 3月  21 20:32 test2.txt
-rw-rw-r-- 1 hyb hyb 13 3月  21 20:18 test.txt
$ ls -l |grep "^-"|wc -l
2

能夠獲得文件數量爲2。grep "^-"的意思是,獲取哪些以-開頭的行,由於普通文件都是以-開頭的。

固然若是想統計包括子目錄的總文件數量,能夠加上-R參數:

ls -lR |grep "^-"|wc -l

再例如,查看chrome相關進程數量:

$ ps -ef|grep google|grep -v grep |wc -l
23

相似這樣的用法還有不少,只要你想統計均可以作。

這裏再多說兩句:

  • |是管道符,ls -l|wc -l表示將ls -l的結果傳給wc命令處理
  • grep用於文本查找,grep "a",代表查找包含a的行,而grep -v "b",代表過濾包含b的行。

總結

wc命令可用於統計行數,字節數和字符數等,而用於統計命令執行結果的數量的時候很是有效。

相關文章
相關標籤/搜索