awk无法让我的循环工作

时间:2011-04-28 18:25:08

标签: 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

我相信所有这些都是有意义的。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

试试这个

awk '{count[$8]++}END{for(i=1;i<925;i++) print i, count[i]" HIT"}' myfile.txt

我希望这会有所帮助。

P.S。因为您似乎是新用户,如果您得到的答案可以帮助您,请记住将其标记为已接受,并且/或者给它一个+(或 - )作为有用的答案。

相关问题