說明:藍(lán)色=命令名稱
淺綠=命令參數(shù)
淺藍(lán)=選項(xiàng)
紫色=目錄
系統(tǒng)環(huán)境:CentOS 6.2 i686
一、行數(shù)統(tǒng)計(jì)方法
1、系統(tǒng)命令:wc -l filename
![](/d/20211018/aebe62bf82918375295f373d6a9aac15.gif)
2、grep方法:grep -c "" filename
![](/d/20211018/210ec71b58e2ac5c5f00f1d17d10be1a.gif)
3、sed方法:sed -n '$=' filename
![](/d/20211018/659ef3973449ab34bef4b469eed34086.gif)
4、awk方法:awk 'END{print NR}' filename
![](/d/20211018/9960e2d282162d1f72f6780406d79a77.gif)
二、效率測(cè)試
生成測(cè)試所需文件:awk 'BEGIN{for(i=0;i10000000;i++)print i}'>>test
![](/d/20211018/7f8df81fe1a14b164f74feccf2b766e7.gif)
說明:用上文中介紹的方法分別對(duì)test文件進(jìn)行三測(cè)測(cè)試統(tǒng)并統(tǒng)計(jì)時(shí)間,最后取平均值進(jìn)行比較
1、wc方法: time wc -l test
![](/d/20211018/e875f637d7fc54c7922847e4975380b6.gif)
用時(shí):0.234s 0.242s 0.237s
平均:0.237667s
2、grep方法:time grep -c "" test
![](/d/20211018/e67a5bcda3cb7b451b53aa0297a48ef1.gif)
用時(shí):1.503s 1.340s 1.414s
平均:1.419000s
3、sed方法:time sed -n '$=' test
![](/d/20211018/a8b4500ce7854adda1bf7f4f215a9251.gif)
用時(shí):2.268s 2.258s 2.344s
平均:2.290000s
4、awk方法:time awk 'END{print NR}' test
![](/d/20211018/e66d85a9a85b7e21856ea51119028e2c.gif)
用時(shí):1.637s 1.638s 1.649s
平均:1.641330s
總結(jié):
![](/d/20211018/5df0f0ba37b434e431c55ecd612b6498.gif)
wc的效率遠(yuǎn)高于其他方法,具體效率:wc>grep>awk>sed
補(bǔ)充:wc用法
語法:wc [選項(xiàng)] 文件
說明:該命令統(tǒng)計(jì)給定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù)。如果沒有給出文件名,則從標(biāo)準(zhǔn)輸入讀取。wc同時(shí)也給出所有指定文件的總統(tǒng)計(jì)數(shù)。字是由空格字符區(qū)分開的最大字符串。
該命令各選項(xiàng)含義如下:
- c 統(tǒng)計(jì)字節(jié)數(shù)。
- l 統(tǒng)計(jì)行數(shù)。
- w 統(tǒng)計(jì)字?jǐn)?shù)。
這些選項(xiàng)可以組合使用