2014-12-08 17 views
-1
  • 以前的其他问题没有回答我的问题!

我有一系列的大文件(200克)每每个文件进行排序并包含重复它看起来就像这样:从排序非常大的文件(每个200G)列表中删除重复项的最佳方法?

50.21.180.100|a.ac 
50.21.180.100|a.ac 
50.21.180.100|a.ac 
50.21.180.100|a.ac 
50.21.180.100|a.ac 
50.21.180.100| b.ac 
50.21.180.100| b.ac 
50.21.180.100|b.ac 
50.21.180.100|b.ac 
50.21.180.100|b.ac 
50.21.180.100| c.ac 
50.21.180.100| c.ac 
50.21.180.100|c.ac 
50.21.180.100|c.ac 
50.21.180.100|c.ac 
50.21.180.100|c.ac 
50.21.180.100| d.ac 

预期输出:

50.21.180.100|a.ac 
50.21.180.100|b.ac 
50.21.180.100|c.ac 
50.21.180.100|d.ac 

是否有身体有任何建议去除这些重复的最佳方法(时间和记忆方面)?是否使用Linux bash或Python或其他语言?

+0

有没有这样的事情 “* *最优化”。它可能是最优的,或者不是。另外,你是什么意思的最佳?最快的代码?最少的努力? – 2014-12-08 09:24:15

+0

提供预期产出。 – 2014-12-08 09:26:22

+0

@KolyolyHorvath我编辑了问题 – UserYmY 2014-12-08 09:26:32

回答

2

首先删除空格,然后运行的uniq:

cat infile.txt | tr -d " " | uniq > outfile.txt 
+0

不必要的'猫'。当你使用200G的文件做这件事情时非常糟糕。 – 2014-12-08 09:26:55

+0

@KarolyHorvath总体而言,以建设性的方式或换句话说,批评是一种很好的做法:您可以自由发布替代方案。 – 2014-12-08 09:31:23

+0

这是一个建设性的意见。处理它。 http://unix.stackexchange.com/questions/16279/should-i-care-about-unnecessary-cats – 2014-12-08 09:33:21

相关问题