awk - 对列 sh 求和并求值

awk - sum and evaluate columns sh

我需要评估以下文件

USER1 256     375     374     463     382     0       0       502
USER2 356     499     369     381     525     0       0       436
USER2 196     375     250     293     450     0       0       458
USER3 16      86      102     0       0       0       0       0
USER4 343     459     310     446     488     0       0       350
USER5 13      246     102     211     190     0       0       119
...
USERn

...其中行数必须是动态的(如果可能的话列数也是),通过这种方式:

  • if the sum of values in column > 0 true else false
  • column 0 not evaluated

得到如下结果:

n2  true
n3  true
n4  true
n5  true
n6  true
n7  false
n8  false
n9  true

提前致谢

#!/usr/bin/awk -f
{
  for (z=2; z<=NF; z++)
    y[z] += $z
}
END {
  for (z in y)
    print "n" z, y[z] ? "true" : "false"
}