Linux awk第1列日期第2列的最大值
我试图只打印第二列中第一列日期的最大值 我的档案是:Linux awk第1列日期第2列的最大值,linux,sorting,awk,Linux,Sorting,Awk,我试图只打印第二列中第一列日期的最大值 我的档案是: 2014-04-09,135303 2014-04-09,416400 2014-04-15,143684 2014-04-15,156011 2014-04-15,184406 2014-04-16,1123083 2014-04-16,167486 2014-04-16,862196 2014-04-17,963023 2014-04-19,583844 所需输出: 2014-04-09,416400 2014-04-15,184406
2014-04-09,135303
2014-04-09,416400
2014-04-15,143684
2014-04-15,156011
2014-04-15,184406
2014-04-16,1123083
2014-04-16,167486
2014-04-16,862196
2014-04-17,963023
2014-04-19,583844
所需输出:
2014-04-09,416400
2014-04-15,184406
2014-04-16,1123083
2014-04-17,963023
2014-04-19,583844
我尝试了排序,但没有成功:
cat file|sort -k2 -r | sort --unique --stable -k1
请建议如何使用awk或sort完成
kent$ awk -F, '{a[$1]=$2>a[$1]?$2:a[$1]}END{for(x in a)print x "," a[x]}' file
2014-04-15,184406
2014-04-16,1123083
2014-04-17,963023
2014-04-09,416400
2014-04-19,583844
如果希望结果按日期排序,请将上面的行管道连接到排序
:
awk -F, '{a[$1]=$2>a[$1]?$2:a[$1]}END{for(x in a)print x "," a[x]}' f|sort
2014-04-09,416400
2014-04-15,184406
2014-04-16,1123083
2014-04-17,963023
2014-04-19,583844