我有一个包含以下内容的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
答案 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]} } '