-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