linux – 使用awk计算列中单词出现次数

03/03/2014 12:31:21 BLOCK 10.1.34.1 11:22:33:44:55:66

03/03/2014 12:31:22 ALLOW 10.1.34.2 AA:BB:CC:DD:EE:FF

03/03/2014 12:31:25 BLOCK 10.1.34.1 55:66:77:88:99:AA

我试图使用awk在一个命令中计算上面“块”和“访问”一词的出现次数.

我一开始尝试了“阻止”这个词,但我的计数器似乎没有起作用.任何人都可以看到我的代码错在哪里?

awk ' BEGIN {count=0;}  { if ($3 == "BLOCK") count+=1} end {print $count}' firewall.log

解决方法:

使用数组

awk '{count[$3]++} END {for (word in count) print word, count[word]}' file

如果你想特别“阻止”:END {print count [“BLOCK”]}

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...