查找 unix 文件中特定记录的最新条目



我有一个文件,其中单个记录有多个条目。例如:

abc~20160120~120
abc~20160125~150
xyz~20160201~100
abc~20160205~200
xyz~20160202~90
pqr~20160102~250
第一列是记录名称,第二列是日期

,第三列是该特定日期的条目。

现在,我想在文件中显示的是特定记录的最新条目。这就是我的输出应该是什么样子的

abc~20160205~200
xyz~20160202~90
pqr~20160102~250

任何人都可以帮助使用相同的 shell 脚本吗?请记住,我有太多的记录,需要先根据它们的记录名称进行排序,然后根据日期为每条记录取出最新的记录。

按记录名称和日期颠倒对行进行排序,然后使用-u唯一的排序标志仅输出每条记录的第一个条目:

sort -t~ -k1,2r  < input-file | sort -t~ -k1,1 -u

最新更新