我有一个CSV文件:
ID;CREATED_AT;CITY
42;2015-05-25 14:27:29;Delhi
33;2015-05-11 09:07:37;London
453;2015-05-22 14:27:29;Delhi
33;2015-05-12 09:07:37;Kolkata
453;2015-05-24 14:27:29;Bangalore
42;2015-05-26 14:27:29;Delhi
453;2015-05-21 14:27:29;Bangalore
我希望输出如下:
ID;CREATED_AT;CITY
33;2015-05-12 09:07:37;Kolkata
42;2015-05-26 14:27:29;Delhi
453;2015-05-24 14:27:29;Bangalore
逻辑:输出应具有uniq ID,数据具有最新的CREATED_AT。如果文件根据ID排序,则表示良好。 Linux命令是首选。
答案 0 :(得分:0)
awk -F ';' 'NR==1{print;next}{a[$1]=$0}END{for(i in a)print a[i]}' file
ID;CREATED_AT;CITY
33;2015-05-12 09:07:37;Kolkata
42;2015-05-26 14:27:29;Delhi
453;2015-05-21 14:27:29;Bangalore