使用awk选择特定行

时间:2017-07-21 11:30:02

标签: awk

我有一个包含这些行的文件

1 1000034 G C 0.4 12
2 1000435 C G 0.1 52
3 0092943 A T 0.2 5
4 0092241 G A 0.3 34
etc.

第3列和第4列仅包含字符AGCT

我需要打印第3列和第4列中不包含G和C的行。 到目前为止我在awk中尝试的是

awk ' { if ($3!="G" && $4!="C") print }' file

但这也分别排除了第3列和第4列中G和A的行。我只想分别在第3列和第4列中排除带有G和C的行。

我更喜欢使用awk来解决这个问题。

2 个答案:

答案 0 :(得分:0)

一种方式:

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

尝试打印G&的倒数C组合

答案 1 :(得分:0)

让我们尝试一下您的解决方案。你可以改变那个&&到||那它应该飞。

awk '($3!="G" || $4!="C")'  Input_file
2 1000435 C G 0.1 52
3 0092943 A T 0.2 5
4 0092241 G A 0.3 34