これは私のコードです。
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行目の2番目のフィールド()はaです0
。