-2
我需要计算并打印字段$2
的记录的指数值,乘以因子-0.05。计算记录的指数值
的数据是这样的:
101 205 560
101 200 530
107 160 480
110 95 600
我需要的输出看起来像这样:
101 205 560 0.000035
101 200 530 0.000045
107 160 480 0.00033
110 95 600 0.00865
我需要计算并打印字段$2
的记录的指数值,乘以因子-0.05。计算记录的指数值
的数据是这样的:
101 205 560
101 200 530
107 160 480
110 95 600
我需要的输出看起来像这样:
101 205 560 0.000035
101 200 530 0.000045
107 160 480 0.00033
110 95 600 0.00865
这应该工作:
$ awk '{ print $0, sprintf("%f", exp($2 * -0.05)) }' infile
101 205 560 0.000035
101 200 530 0.000045
107 160 480 0.000335
110 95 600 0.008652
这只是打印整条生产线$0
,然后是第二个字段的指数乘以-0.05。格式sprintf
确保结果不以科学记数法打印(否则会发生)。
如果输入的数据是制表符分隔,你需要在标签的输出,以及,你必须先设置输出字段分隔符:
$ awk 'BEGIN{OFS="\t"} { print $0, sprintf("%f", exp($2 * -0.05)) }' infile
101 205 560 0.000035
101 200 530 0.000045
107 160 480 0.000335
110 95 600 0.008652
感谢它的工作原理。 – Alula