awk:一个计算两列四舍五入平均值的线性函数



我有一个由1亿行制表符分隔的文件,编号在第2列和第3列。

d1  1   4
g7  4   5
y3  11  20

我想用第2列和第3列的四舍五入平均值替换第2列,并用第2+1列替换第3列。

d1  3   4
g7  5   6
y3  16  17

有没有一种计算效率高的awk-one-liner可以在大文件上做到这一点?

这似乎是显而易见的实现:

awk '{a=int(($2+$3)/2+0.5); $2=a; $3=a+1;print}'

最新更新