linux 换行符_一个linux帮你做高效数据统计
wc(world count)是一個統(tǒng)計文件字詞,字節(jié),行數(shù)的命令,它可以幫我們非常方便的統(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)容時,僅需要帶上對應的參數(shù)即可,例如:
$?wc?-l?test.txt1?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?-m3
$?echo?編程|wc?-c
7
各編碼字符占用字符情況如下:
| UTF-8 | 1字節(jié) | 3字節(jié) |
| Unicode | 1字節(jié) | 2字節(jié) |
你可以使用:
$?echo?$LANGen_GB.UTF-8
查看編碼格式。
統(tǒng)計命令執(zhí)行結(jié)果數(shù)量
實際上個人認為,最常用的還是-l參數(shù),它用來統(tǒng)計文件或標準輸出有多少行,那么實際上就可以用來做很多統(tǒng)計的事情了。
例如,統(tǒng)計當前目錄下有多少個普通文件:
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?-l23
類似這樣的用法還有很多,只要你想統(tǒng)計都可以做。
這里再多說兩句:
|是管道符,ls -l|wc -l表示將ls -l的結(jié)果傳給wc命令處理
grep用于文本查找,grep "a",表明查找包含a的行,而grep -v "b",表明過濾包含b的行。
總結(jié)
wc命令可用于統(tǒng)計行數(shù),字節(jié)數(shù)和字符數(shù)等,而用于統(tǒng)計命令執(zhí)行結(jié)果的數(shù)量的時候非常有效。
推薦閱讀:
如何查看linux中文件打開情況?
解放你的雙手,一個命令幫你減負
關(guān)注公眾號【編程珠璣】,獲取更多Linux/C/C++/Python/Go/算法/工具等原創(chuàng)技術(shù)文章。后臺免費獲取經(jīng)典電子書和視頻資源。
總結(jié)
以上是生活随笔為你收集整理的linux 换行符_一个linux帮你做高效数据统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暴雪称其一直在考虑将《魔兽世界》带到游戏
- 下一篇: 最新热门手机排行榜:小米前十占五 小米1