If statement 使用if条件AWK计算行数

If statement 使用if条件AWK计算行数,if-statement,awk,count,If Statement,Awk,Count,你知道我哪里有问题吗?我想为所有行计算$4列中的值,条件是,第一列中的这些行不能是chrY或chrX,其他行将被计数 awk ' {if ($1 != "chrY" || $1 != "chrX") sum+=$4} END{print sum}' "$i"_pool018_2.tsv 多谢各位。 菲利普 应该是 if ($1 != "chrY" && $1 != "chrX") 如果使用逻辑or,如果第一次检查的结果为true,则第二次检查将不被检查。也就是说,所有带有$

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

 awk ' {if ($1 != "chrY" || $1 != "chrX") sum+=$4} END{print sum}' "$i"_pool018_2.tsv
多谢各位。 菲利普

应该是

if ($1 != "chrY" && $1 != "chrX")
如果使用逻辑or,如果第一次检查的结果为
true
,则第二次检查将不被检查。也就是说,所有带有
$1=“chrX”
的条目都将添加到
sum
变量中

例如:

kent$  awk 'BEGIN{x=5;if(x!=3||x!=5)print "OK"}' 
OK
如果这不能解决您的问题,您应该粘贴输入/输出示例

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