awk 命令用于查找文件中最常见的单词?

awk 命令用于查找文件中最常见的单词?

假设我有一个文件,里面只是一份充满日期和姓名的列表,我需要查找列表中重复次数最多的“球队名称”?球员姓名位于位置 $1,球队位置位于 $2。

我正在尝试使用 awk?那么,如何说“浏览表格中的位置 2 并检查最常用的单词是什么?”就这么简单,我看到有人使用 uniq -c ,但在我的课堂上我们还没有讨论过它。谢谢

以下是文件示例:

Player | team 
DiMaria Benfica
Otamendi Benfica
Robertocarlos Madrid
JoaoFelix Benfica
Cristiano Sporting
Maldini Milan 

我该如何编码才能显示本菲卡是表现更出色的球队?谢谢。

答案1

有很多方法可以实现这一点。其中一种方法如下:

awk '{a[$2]+=1} END {max=0;for( i in a) {if(a[i]>max) {b=i; max=a[i]}}; print b, max }' <input file>

首先,它创建关联数组a,在其中组织计数器。然后它循环遍历数组元素并搜索最大值。将计数器存储在 中,将max名称存储在b

当然有更短的脚本,但对我来说这个更易读也更容易理解:)

相关内容