使用if条件AWK计算行数

时间:2014-10-14 11:11:20

标签: if-statement awk count

你知道我有问题吗?我想计算所有行的$ 4列中的值,条件为,第一列中的这些行不能是chrY或chrX,其他行将是count。

 awk ' {if ($1 != "chrY" || $1 != "chrX") sum+=$4} END{print sum}' "$i"_pool018_2.tsv

谢谢。 菲利普

1 个答案:

答案 0 :(得分:1)

if ($1 != "chrY" || $1 != "chrX")

应该是

if ($1 != "chrY" && $1 != "chrX")

如果您使用了逻辑,或者如果第一次检查被评估为true,则第二次检查不会被检查。也就是说,$1="chrX"的所有条目都会添加到sum变量中。

示例:

kent$  awk 'BEGIN{x=5;if(x!=3||x!=5)print "OK"}' 
OK

如果这不能解决您的问题,您应该粘贴输入/输出示例。