【问题标题】:Linux- awk looking for two variables in one columnLinux-awk在一列中寻找两个变量
【发布时间】:2017-10-30 22:19:32
【问题描述】:

我有这张桌子:

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

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

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

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

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

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

提前致谢

【问题讨论】:

标签: linux unix awk grep


【解决方案1】:

你的结尾报价不见了

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

显然没有在图像上进行测试。假设分隔符是您的脚本中的制表符。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-06
    • 2015-08-17
    • 2016-02-29
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    相关资源
    最近更新 更多