我如何排序,在一列中找到重复项并将它们与另一列中的匹配项一起删除?

时间:2016-04-18 15:16:29

标签: unix

我有一个非常大的文件,包含这些信息

7-92383888 rs10
7-6013153 rs10000
12-126890980 rs1000000
4-57561647 rs10000003
4-85161558 rs10000005 
4-172776204 rs10000008
4-71048953 rs10000009 
2-50711642 rs1000001

第一列是染色体编号和碱基对位置,第二列是可以在该特定区域中找到的SNP。在第一列中有一些重复,但不在第二列。如何排序第1列,查找重复项,然后删除整行?因此,删除第1列的副本,同时删除第2列中的匹配值。另外,在排序时我不希望第1列和第2列之间的匹配发生变化。

我读过以前的帖子,我知道我必须使用sort和uniq命令,但我不知道如何。

谢谢。

1 个答案:

答案 0 :(得分:0)

sort有`-u'那个标志。

sort -uk 1

以下是一个例子:

$ echo -e 'b 1\na 2\nb 1\na 2' | sort -uk 1
a 2
b 1