【问题标题】:Count number of occurences group by统计出现次数分组
【发布时间】:2014-04-05 23:45:11
【问题描述】:

我需要计算每次出现的次数,而不仅仅是我用sort 制作的'group by':

>>> cat /var/log/squid/access.log* | awk '{ print $NF }' | sort -u
TCP_CLIENT_REFRESH_MISS:DIRECT
TCP_DENIED:NONE
TCP_HIT:NONE
TCP_IMS_HIT:NONE
TCP_MEM_HIT:DIRECT
TCP_MEM_HIT:NONE
TCP_MISS:DIRECT
TCP_MISS:NONE
TCP_NEGATIVE_HIT:NONE
TCP_REFRESH_HIT:DIRECT
TCP_REFRESH_MISS:DIRECT
>>>

你会怎么做?

【问题讨论】:

  • 我认为没有必要删除您的最新问题 - 一两个人可能不清楚,但我相信您可以解释清楚。不必要地删除问题会给正在撰写评论/答案的人带来烦恼。作为参考,我的评论回复是:“我想知道实现 Serializable 是否可以让它重建普通序列化无法重新初始化的东西,比如内部资源。但这可能与这个问题有关:你的第一次尝试以什么方式不起作用?”
  • 你说得对,我换个方式再问。

标签: linux shell find-occurrences


【解决方案1】:

sort | uniq -c 就是你要找的东西。

【讨论】:

  • 完美!非常感谢!
  • @OlivierPons:如果答案确实是完美的,你应该考虑接受并支持它。
  • @Emmet 2'00 的时候我几乎在键盘上睡觉,所以我去睡觉了,现在是 8:30,我可以检查一下。
【解决方案2】:

试试这个:

awk '{a[$NF]++}END{for (i in a) print a[i],i|"sort"}' /var/log/squid/access.log*

【讨论】:

  • 非常好的 awk 建议
猜你喜欢
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 2023-01-18
  • 2019-01-15
  • 1970-01-01
  • 2017-01-24
  • 2021-09-29
  • 1970-01-01
相关资源
最近更新 更多