使用awk打印某些列不匹配的行

use*_*814 5 awk matching

我有一个标签分隔文件,如下所示:

1       10502   C       T  
1       10506   C       T  
1       10567   G       A 
...
Run Code Online (Sandbox Code Playgroud)

而且我想打印出所有线路,其中column 3 != column 4,除去了情况column 3 = C and column 4 = T.

我试过了

awk '{
if (($3 == $4) || ($3 == C && $4 == T) )
        next ;
else
        print $0; }'
Run Code Online (Sandbox Code Playgroud)

但我不确定会出现什么问题......

Ken*_*ent 7

只需修复您的代码:

awk '($3 != $4) && !($3=="C" && $4=="T")' file
Run Code Online (Sandbox Code Playgroud)