即使在使用NR> 1后我仍然缺少标题。有什么建议吗?
cat rm2
t1 t2 t3 t4 tn max avg.of.rest
l1 0 0.1448 0.2295 0.2896 0.3362 0.3362 0.166
l3 0.1395 0.1395 0.1395 0.1395 0.4421 0.4421 0.140
l4 0.5779 0.138 0.09591 0.05014 0.138 0.5779 0.106
awk 'NR>1{ if($NF>0) print $0"\t"$(NF-1)/$NF; else print $0"\t"$(NF-1)}' rm2
l1 0 0.1448 0.2295 0.2896 0.3362 0.3362 0.166 2.0253
l3 0.1395 0.1395 0.1395 0.1395 0.4421 0.4421 0.140 3.15786
l4 0.5779 0.138 0.09591 0.05014 0.138 0.5779 0.106 5.45189
答案 0 :(得分:4)
awk 'NR==1; NR>1 ....' file
答案 1 :(得分:4)
你要做的就是写下:
awk 'NR>1{$0=$0"\t"$(NF-1)/($NF?$NF:1)}1' rm2
但是你为什么这样做而不是仅仅调整你已经获得的脚本(https://stackoverflow.com/a/28988712/1745001)来在最后打印一个额外的字段,只需更改这一行:
print $0, max, (cnt?tot/cnt:0)
为:
ave = (cnt?tot/cnt:0)
print $0, max, ave, (ave?max/ave:max)