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

时间:2013-04-26 21:20:05

标签: awk matching

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

1       10502   C       T  
1       10506   C       T  
1       10567   G       A 
...

我正在尝试打印column 3 != column 4排除 column 3 = C and column 4 = T的情况下的所有行。

我试过

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

但我不确定出了什么问题......

2 个答案:

答案 0 :(得分:7)

只需修改您的密码:

awk '($3 != $4) && !($3=="C" && $4=="T")' file

答案 1 :(得分:-1)

这个单行应该适用于您的文件:

awk '($3==$4)||($3 =="C"&&$4=="T"){next}1' input