这是我的代码:
awk -v "counts=170712" '{if(NR>1){print $1 "\t" 1000000*1000*$NF/($(NF-1)*counts)} else{print $1"\t"$NF}}' a.counts > a.fpkm.txt
但我收到这个错误:
awk: cmd. line:1: (FILENAME=BMXV02.counts FNR=2) fatal: division by zero attempted
我应该改变什么?
答案1
该错误准确地告诉您出了什么问题:您正在尝试除以零,这在数学上是非法的。这发生在文件的第 2 行BMXV02.counts
。由于代码中唯一的划分是:1000000*1000*$NF/($(NF-1)*counts)
,那么显然$(NF-1)*counts
会返回0
。
据推测,第$(NF-1)
2 行倒数第二个字段 ( ) 是 a 0
。