我有一个 3 列文件,我想找到第三列的最大值,其中行与第一列相同,并且输出中还有第二列。
Input:
1 234 0.005
1 235 0.060
1 236 0.001
2 234 0.010
2 235 0.003
2 236 0.003
3 234 0.004
3 235 0.100
3 236 0.004
期望的输出:
1 235 0.060
2 234 0.010
3 235 0.100
我从之前的问题中找到了这个提示,但我不知道如何获得第二列:
!($1 in max) || $3>max[$1] { max[$1] = $3 }
END {
PROCINFO["sorted_in"] = "@ind_num_asc"
for (key in max) {
print key, max[key]
}
}
你可以用这个awk
:
awk '!($1 in max) || $3 > max[$1] { max[$1] = $3; two[$1] = $2 }
END { PROCINFO["sorted_in"] = "@ind_num_asc"
for (i in max) print i, two[i], max[i]
}' file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)