【发布时间】:2018-06-26 10:06:35
【问题描述】:
下面是我的输入文件,但我的实际输入有数百万条记录,
004,shan@gmail.com,TAT,0582,live,20180622 06:27:47
004,bb@gmail.com,TAT,0588,live,20180622 06:27:27
004,shan@gmail.com,TAT,0562,live,20180622 06:27:59
004,aa@gmail.com,TAT,0582,inlive,20180622 06:27:47
006,dd@gmail.com,TAT,0582,live,20180622 06:27:47
004,tr@gmail.com,TAT,0582,live,20180622 06:27:47
首先我想使用第二列(电子邮件)升序对上述文件进行排序, 其次,我想使用第 6 列(时间戳)按降序对其进行排序。 第三,我需要删除基于重复的第二列。
预期输出:
004,aa@gmail.com,TAT,0582,inlive,20180622 06:27:47
004,bb@gmail.com,TAT,0588,live,20180622 06:27:27
006,dd@gmail.com,TAT,0582,live,20180622 06:27:47
004,shan@gmail.com,TAT,0562,live,20180622 06:27:59
004,tr@gmail.com,TAT,0582,live,20180622 06:27:47
我尝试了什么,但我想在单个命令中完成所有操作,而不是使用不同的步骤,而且 -u 无法正确删除重复项?
sort -t$'," -k2 pp.txt > pp1.txt
sort -t$'," -k6 -r pp1.txt > pp2.txt
sort -t$'," -k2 -u pp2.txt > pp3.txthere
请帮忙
【问题讨论】: