awk-如果两列等于

时间:2017-07-13 15:51:22

标签: linux bash awk grep

道歉,如果这是非常明显的 - 我是一个bash初学者!如果第1列等于第3列,如果第2列等于第4列,我想从文件中删除行。该文件(file_A)的结构是:

chr1    25000   chr2    16475000    1
chr1    25000   chr2    114325000   1
chr1    25000   chr2    224825000   1
chr1    25000   chr3    196825000   1

为了查看我是否可以获得满足条件的行,我跑了:

awk '$1==$3 && $2==$4' file_A > test_equal

test_equal包含54640行。

但是当我试图在一行中做所有事情时,即

 awk '$1!=$3 && $2!=$4' file_A > test_unequal

test_unequal包含12767257行,而file_A最初包含24384120行。 test_unequal中不应该有24384120-54640 = 24329480行?

我确信这对我来说是一个愚蠢的错误,但我不确定我哪里出错了。非常感谢你的帮助!

0 个答案:

没有答案