将一列的项目除以一项列

将一列的项目除以一项列

如何迭代地将一列的元素除以另一列中的单元素项?

例如,输入:

2     2
2.2
4
44

预期输出:

1
1.1
2
22

标准除法awk '{print $1/$2}' Input > Output不起作用(因为迭代所有不存在的$2元素)

答案1

要获得除数,您只需考虑第二列第一行的值。您可以用于FNR此目的。在 awk 中,FNR指当前文件中的记录号(实际上是行号)。通过读取第二列的第一行来存储除数,并将第一列中的元素除以存储的值。

awk 'FNR==1 {d=$2} {print $1/d}' Input > Output

相关内容