【发布时间】:2014-11-13 05:46:00
【问题描述】:
想根据第一个字段和第三个字段的最新日期和时间打印唯一行, 保留该行的最新日期和时间,并删除其他事件的重复。 大约有 5000 万行,文件未排序...
输入.csv
10,ab,15-SEP-14.11:09:06,abc,xxx,yyy,zzz
20,ab,23-SEP-14.08:09:35,abc,xxx,yyy,zzz
10,ab,25-SEP-14.08:09:26,abc,xxx,yyy,zzz
62,ab,12-SEP-14.03:09:23,abc,xxx,yyy,zzz
58,ab,22-JUL-14.05:07:07,abc,xxx,yyy,zzz
20,ab,23-SEP-14.07:09:35,abc,xxx,yyy,zzz
期望的输出:
10,ab,25-SEP-14.08:09:26,abc,xxx,yyy,zzz
20,ab,23-SEP-14.08:09:35,abc,xxx,yyy,zzz
62,ab,12-SEP-14.03:09:23,abc,xxx,yyy,zzz
58,ab,22-JUL-14.05:07:07,abc,xxx,yyy,zzz
由于文件未排序顺序的日期和时间格式,尝试了部分命令并且不完整...
awk -F, '!seen[$1,$3]++' Input.csv
寻找您的建议...
【问题讨论】:
-
这行
20,ab,23-SEP-14.08:09:35,abc,xxx,yyy,zz在原始文件中不存在。 -
Jotne,我有两行 ID 20:20,ab,23-SEP-14.08:09:35,abc,xxx,yyy,zzz AND 20,ab,23-SEP-14.07 :09:35,abc,xxx,yyy,zzz
-
@AVN,由于文件没有按日期排序,您是否可以控制文件的日期格式?如果日期格式适合新旧版本的简单比较测试,则代码会容易得多。
-
Jotne,对不起,不,我无法更改文件的日期格式
标签: awk