如何获取UNIX文件中文本的最大值,如下所示?

时间:2012-11-16 16:32:18

标签: unix

我有一个包含以下内容的unix文件。

$cat myfile.txt
abc:1
abc:2
hello:3
hello:6
wonderful:1
hai:2
hai:4
hai:8

如何获取上述文件中每个文本的最大值。

'abc'值2 '你好'价值6 '海'价值8 'womderful'1

1 个答案:

答案 0 :(得分:2)

根据您问题中的当前示例,减去预期输出的第一行:

awk -F':' '{arr[$1]=$2 ; next} END {for (i in arr) {print i, arr[i]} } ' inputfile

您的示例输入和预期输出非常令人困惑....我发布此消息的原因是为了获得OP即将发布的反馈

这假定数据未排序,但也适用于排序数据(新):

sort -t: -k2n inputfile | awk -F':' '{arr[$1]=$2 ; next} END {for (i in arr) {print i, arr[i]} } '