0
我試圖在一個日誌文件中循環並添加一個字段的出現次數。awk無法讓我爲我的循環上班
我知道該字段#8將有我想要添加的事件,並且該字段將包含1和924
到目前爲止,我有這個AWK一個班輪之間的數字:
awk '{count[$8]++}END{for(j in count) print j, count[j]" HIT"}' myfile.txt
但是,我想awk輸出的女巫沒有找到出現的數字,並打印0旁邊。
例如:
1 5 HIT
2 0 HIT
3 55 HIT
我嘗試這樣做:
awk '{for(i=1;i<=924;i++) print i, count[$8]++}' myfile.txt
編輯:我也試過這個
awk '{count[$8]++}END{for(i=1;i<925;i++) print i, count[i]" HIT"}' myfile.txt
它給了我這樣的:
919 HIT
920 HIT
921 HIT
922 HIT
923 HIT
924 HIT
我相信所有這些都是有價值的。
任何幫助,將不勝感激!
@shelter,我是新來的stackoverflow,但不是serverfault :)我試過你提交的代碼,但計數似乎並不打印。每行都有一個空格(請參閱我的編輯)。 – Alex 2011-04-28 18:58:36
@Alex:嗯..我的解釋是$ 8包含1-924的值。那是對的嗎?如果是這樣,那麼是否有可能在$ 8列中有額外的字符(最有可能的空格)?什麼是FS值。你看起來是使用默認的空白。那是對的嗎? – shellter 2011-04-28 19:10:52
@shelter,謝謝一堆...那裏的數字雙引號...所以改變FS和調整列做了詭計! – Alex 2011-04-28 19:17:21