我有一个文件test.txt
A 2018-11-28 10:04:59.286
A 2018-11-28 10:07:59.286
B 2018-11-28 10:04:58.993
B 2018-11-28 10:06:58.993
C 2018-11-28 10:04:55.714
C 2018-11-28 10:04:59.714
我想根据最新时间戳为每个(A,B,C)仅选择uniq数据
收据应为:
A 2018-11-28 10:07:59.286
B 2018-11-28 10:06:58.993
C 2018-11-28 10:04:59.714
我使用了sort + uniq命令,但是找不到适合我的解决方案。
谢谢
答案 0 :(得分:0)
与sort/awk
$ sort -k1,1 -k2r file | awk '!a[$1]++'
A 2018-11-28 10:07:59.286
B 2018-11-28 10:06:58.993
C 2018-11-28 10:04:59.714
从第二个字段开始反向排序,通过管道传递到awk
,以选择每个键的第一个记录(第一个字段)。
答案 1 :(得分:0)
这是我的sort
和uniq
。您可以根据需要使用sort
重新排列结果。
$ sort -r file | uniq -w 1
C 2018-11-28 10:04:59.714
B 2018-11-28 10:06:58.993
A 2018-11-28 10:07:59.286
man uniq
:
-w, --check-chars=N
compare no more than N characters in lines