Linux-awk在一列中查找两个变量

时间:2017-10-30 22:19:33

标签: linux unix awk grep

我有这张桌子:

enter image description here

我相信这是一个电子表格文件。

它总共有数千行和20列。我想将所有这些结果过滤到某些列中的特定值。

所以我想找到1号染色体上的所有SNP(第2列)和所有+链(第7列)和A / T OR C / T(第10列)。然后返回与这些匹配的SNP数量。

到目前为止,我已尝试过这个 -

awk 'BEGIN{OFS=FS="\t"} $1=="chr1" && $7=="+" && $10=="A/T" SNP.txt | wc -l

我只是不知道如何获得第10列和/或我想要的。

提前致谢

1 个答案:

答案 0 :(得分:0)

您的最终报价缺失

awk -F'\t' '$1=="chr1" && $7=="+" && $10~/^(A|C)\/T$/" {count++}
            END  {print count}' SNP.txt

显然没有在图像上测试过。假设分隔符是脚本中的选项卡。

最后一个条件可以更改为($10=="A/T" || $10=="C/T"),也许更容易阅读。