2016-03-25 74 views
1

文件欄我有這個文件如何自定義格式打印的.dat使用awk

#id|firstName|lastName|gender|birthday|creationDate|locationIP|browserUsed 
933|Mahinda|Perera|male|1989-12-03|2010-03-17T13:32:10.447+0000|192.248.2.123|Firefox 
1129|Carmen|Lepland|female|1984-02-18|2010-02-28T04:39:58.781+0000|81.25.252.111|Internet Explorer 
4194|Hồ Chí|Do|male|1988-10-14|2010-03-17T22:46:17.657+0000|103.10.89.118|Internet Explorer 
8333|Chen|Wang|female|1980-02-02|2010-03-15T10:21:43.365+0000|1.4.16.148|Internet Explorer 

,我想找到計數dublicate瀏覽器...所以我需要像這樣

Firefox 1 
Internet Explorer 3 

我用這個代碼,但結果不是我想要的

代碼:

awk -F '|' '!/^($|[:space:]*#)/{ print $8}' $3 | sort | uniq -c | awk '{print $2 , $1}' 

結果:

Firefox 1 
Internet 3 

我能做些什麼,所以我可以有整體的「Internet Explorer」和單詞的數量嗎?

回答

3

awk來救援!

$ awk -F'|' 'NR>1{c[$NF]++} END{for(k in c) print k, c[k]}' file 

說明:

NR>1跳過頭陣列在端

c[$NF]++計數不同最後字段Ç

END{..迭代在數組c和打印鍵的鍵和 計數

+0

工作正常,非常感謝,但你能解釋我如何這個指揮官d有效嗎? – user3583029