【发布时间】:2017-04-24 03:53:32
【问题描述】:
我一直在尝试找出一种方法来根据两列的值选择唯一的行。例如,这是我的文件的示例/示例:
chr1 10 12
chr1 10 12
chr1 10 11
chr1 9 12
chr2 15 20
这就是我希望输出的样子:
chr1 10 12
chr1 10 11
chr1 9 12
chr2 15 20
我尝试使用此代码,因为我喜欢它不会弄乱我的文件顺序:
awk -F"\t" '!_[$2]++' SNP_positions.txt > SNP_positions_uniq.txt
但是,它仅捕获一列的独特特征。有没有办法编辑它以使其适用于两列?
【问题讨论】:
-
您提到了两列,但您的文件中有三列。应该考虑哪些?如果可能,请举一个更通用的例子。您当前的方法适用于给定文件,因此可能还有其他内容。
-
我想在第二列和第三列中找到具有唯一值的行。如果我使用输出上方的代码,我的输出中不会出现第三行(chr1 122332 130204)。我将进行编辑以使其更简单
-
谁告诉你用
_作为变量名是白痴,不要再听他们的了。我们都知道通常最好避免使用单字母变量名,因为它们对提高代码的清晰度没有任何帮助,但是使用甚至不是字母的东西就是荒谬的。 -
@cosmictypist 如何在 mysql 中运行此查询。我有同样的问题