【发布时间】:2020-11-30 05:24:10
【问题描述】:
我有一个这样的矩阵:
A 25 27 50
B 35 37 475
C 75 78 80
D 99 88 76
0 234 230 681
最后一行是列中所有元素的总和——也是最大值。
我想得到一个矩阵,其中每个值除以列中的最后一个值(例如,对于第 2 列中的第一个数字,我想要“25/234 =”):
A 0.106837606837607 0.117391304347826 0.073421439060206
B 0.14957264957265 0.160869565217391 0.697503671071953
C 0.320512820512821 0.339130434782609 0.117474302496329
D 0.423076923076923 0.382608695652174 0.11160058737151
另一个线程中的答案对一列给出了可接受的结果,但我无法在所有列上循环它。
$ awk 'FNR==NR{max=($2+0>max)?$2:max;next} {print $1,$2/max}' file file
(这里提供了这个答案:normalize column data with maximum value of that column)
如果有任何帮助,我将不胜感激!
【问题讨论】: