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