【发布时间】:2020-05-01 21:58:51
【问题描述】:
我有一个包含两列的文件,如下所示:
a 3
a 7
b 6
a 6
b 1
b 8
c 1
b 1
对于第一列中的每个值,我想从第二列中找到前 N 个计数。使用此示例,我想为第 1 列中的每个字符串在第 2 列中查找前 2 个值。所需的输出将是:
a 7
a 6
b 8
b 6
c 1
我试图用 awk 做这样的事情,但我对它不是很熟悉。这给出了最大值,而不是前 N 个:
awk '$2>max[$1]{max[$1]=$2; row[$1]=$0} END{for (i in row) print row[i]}'
【问题讨论】:
-
你做了哪些努力?
-
感谢您的帮助。我试图使用 awk 将数据存储在数组中,但我对 awk 以及如何将数字输出限制为前 N 没有太多经验。