我有一个看起来像这样的文件:
2 3347485 rs7559860 C G AA=G||| GT G
2 3347492 . C T AA=C||| GT C
2 3347560 . C T AA=C||| GT C
2 3347576 . A T AA=A||| GT A
2 3347577 . G C AA=G||| GT G
我想要做的是获取第4列等于第8列(最后一列)的行。在这种情况下,第一行将被删除。
有没有办法用bash做到这一点?
我的愿望输出应如下所示:
2 3347492 . C T AA=C||| GT C
2 3347560 . C T AA=C||| GT C
2 3347576 . A T AA=A||| GT A
2 3347577 . G C AA=G||| GT G
答案 0 :(得分:3)
这是awk
的量身定制的工作,因为我们正在处理数据的行/列:
awk '$4 == $8' file
2 3347492 . C T AA=C||| GT C
2 3347560 . C T AA=C||| GT C
2 3347576 . A T AA=A||| GT A
2 3347577 . G C AA=G||| GT G
$4 == $8
检查第4列与第8列的相等性。