我的日志文件格式如下:
201208290101
201208290101
201208290101
201208290101
201208290101
201208291222
201208291222
201208291222
201208291222
201209300242
201209300242
201209300242
我想计算在某个特定时间发生的事件数量,所以我必须计算 日志文件中出现一些特定时间戳的次数。例如,上面的输出类似于:
201208290101 = 5
201208291222 = 4
201209300242 = 3
关于如何计算这个的任何建议?
答案 0 :(得分:4)
只需通过uniq -c
传送文件。
$ uniq -c
201208290101
201208290101
201208290101
201208290101
201208290101
201208291222
201208291222
201208291222
201208291222
201209300242
201209300242
201209300242
^D
5 201208290101
4 201208291222
3 201209300242
答案 1 :(得分:1)
你可以awk
关联数组:
awk '{a[$0]++;} END{for(i in a) print i," = ", a[i]}' filename
答案 2 :(得分:1)
如果一切都已排序,那么
cat yourfile.txt | uniq -c
否则,您需要先对其进行排序,然后才能使用uniq:
cat yourfile.txt | sort | uniq -c