我有一个文件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命令,但我找不到适合我的解决方案。
感谢
带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
以拾取每个键的第一条记录(第一个字段(。
这是我的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