使用awk打印与特定列不匹配的行

7

我有一个制表符分隔的文件,像这样:

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

我试图打印出所有满足条件 第三列 != 第四列 的行,但要排除 第三列=C 和 第四列=T 的情况。

我尝试了以下代码:

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

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

关于IT技术的内容,您需要提供更具体的信息。
2个回答

10

只需修复您的代码:

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

-1

这个一行代码应该适用于你的文件:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接