0

我有一个以下格式的日志文件:

201208290101
201208290101
201208290101
201208290101
201208290101
201208291222
201208291222
201208291222
201208291222
201209300242
201209300242
201209300242

我想计算在某个特定时间发生的事件数量,所以我必须计算日志文件中某个特定时间戳发生的次数。例如上面的输出将是这样的:

201208290101  = 5
201208291222  = 4
201209300242  = 3

关于如何计算这个的任何建议?

4

3 回答 3

4

只需通过uniq -c.

$ uniq -c
201208290101
201208290101
201208290101
201208290101
201208290101
201208291222
201208291222
201208291222
201208291222
201209300242
201209300242
201209300242
^D
      5 201208290101
      4 201208291222
      3 201209300242
于 2012-10-03T04:17:41.757 回答
1

您可以awk关联数组:

 awk '{a[$0]++;} END{for(i in a) print i," = ", a[i]}' filename
于 2012-10-03T04:22:01.683 回答
1

如果一切都已排序,那么

cat yourfile.txt | uniq -c

否则,您需要先对其进行排序,然后才能使用 uniq:

cat yourfile.txt | sort | uniq -c
于 2012-10-03T04:26:29.357 回答