繁体   English   中英

Linux Shell脚本,用于计算文件中的相似单词

[英]Linux shell script for counting similar words in a file

正在使用以下格式的日志文件:

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

我想计算在某个特定时间发生的事件数,因此我必须计算日志文件中某个特定时间戳发生了多少次。 例如,上面的输出将类似于:

201208290101  = 5
201208291222  = 4
201209300242  = 3

关于如何计算这个有什么建议吗?

只需通过uniq -c文件即可。

$ uniq -c
201208290101
201208290101
201208290101
201208290101
201208290101
201208291222
201208291222
201208291222
201208291222
201209300242
201209300242
201209300242
^D
      5 201208290101
      4 201208291222
      3 201209300242

您可以awk关联数组:

 awk '{a[$0]++;} END{for(i in a) print i," = ", a[i]}' filename

如果一切都整理好了

cat yourfile.txt | uniq -c

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

cat yourfile.txt | sort | uniq -c

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM