本篇文章為大家展示了如何使用Linux系統(tǒng)高效數(shù)據(jù)統(tǒng)計工具wc命令,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了翼城免費建站歡迎大家使用!
wc(world count)是一個統(tǒng)計文件字詞,字節(jié),行數(shù)的 Linux命令 ,它可以幫我們非常方便的統(tǒng)計以上信息。 |
主要參數(shù)
常見參數(shù)如下:
-c 統(tǒng)計字節(jié)數(shù)。
-l 統(tǒng)計行數(shù)。
-m 統(tǒng)計字符數(shù)。這個標志不能與 -c 標志一起使用。
-w 統(tǒng)計字數(shù)。注意,這里的字指的是由空格,換行符等分隔的字符串。
我們接下來直接看幾個實例。
統(tǒng)計文件行數(shù),詞數(shù)和字節(jié)數(shù)
$ wc test.txt 1 1 7 test.txt
打印結(jié)果表明該文件有1行,1個詞,7字節(jié)。
要特別提醒的是,這里的詞是以空格,換行符等分隔開的字符串,也就是說
words 字詞
這里只有兩個詞。
僅統(tǒng)計文件行數(shù),詞數(shù),字符數(shù)或字節(jié)數(shù)
僅統(tǒng)計單項內(nèi)容時,僅需要帶上對應(yīng)的參數(shù)即可,例如:
$ wc -l test.txt 1 test.txt
使用-l參數(shù),使得只顯示行數(shù)。
但是這里特別要注意的是字符數(shù)和字節(jié)數(shù)的區(qū)別。字節(jié)數(shù)是數(shù)據(jù)占用的空間大小,而一個字符可能占多個字節(jié),例如,UTF-8編碼中,一個英文字母就是一個字符,占用空間一個字節(jié),而一個中文,則占用3字節(jié)大小。
舉個例子:
編程
編程,在這里是兩個字符,而占用空間是6字節(jié),但是使用wc -m統(tǒng)計會比兩個多一個,是3個字符。
$ echo 編程|wc -m 3 $ echo 編程|wc -c 7
各編碼字符占用字符情況如下:
編碼 | 英文字母 | 中文 |
---|---|---|
UTF-8 | 1字節(jié) | 3字節(jié) |
Unicode | 1字節(jié) | 2字節(jié) |
你可以使用:
$ echo $LANG en_GB.UTF-8
查看編碼格式。
統(tǒng)計 命令 執(zhí)行結(jié)果數(shù)量
實際上個人認為,最常用的還是-l參數(shù),它用來統(tǒng)計文件或標準輸出有多少行,那么實際上就可以用來做很多統(tǒng)計的事情了。
例如,統(tǒng)計當前目錄下有多少個普通文件:
$ 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
可以得到文件數(shù)量為2。grep "^-"的意思是,獲取哪些以-開頭的行,因為普通文件都是以-開頭的。
當然如果想統(tǒng)計包括子目錄的總文件數(shù)量,可以加上-R參數(shù):
ls -lR |grep "^-"|wc -l
再例如,查看chrome相關(guān)進程數(shù)量:
$ ps -ef|grep google|grep -v grep |wc -l 23
類似這樣的用法還有很多,只要你想統(tǒng)計都可以做。
這里再多說兩句:
|是管道符,ls -l|wc -l表示將ls -l的結(jié)果傳給wc命令處理
grep用于文本查找,grep "a",表明查找包含a的行,而grep -v "b",表明過濾包含b的行。
wc命令可用于統(tǒng)計行數(shù),字節(jié)數(shù)和字符數(shù)等,而用于統(tǒng)計命令執(zhí)行結(jié)果的數(shù)量的時候非常有效。
上述內(nèi)容就是如何使用Linux系統(tǒng)高效數(shù)據(jù)統(tǒng)計工具wc命令,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。