我的file.txt看起来像这样:

1 12
2 18
3 45
4 5
5 71
6 96
7 13
8 12

我可以像这样总结第二列:
awk '{ sum += $2 } END { print sum }' file.txt272
我可以在每一行上打印该笔款项的最简洁的方法是什么?这是我所期望的:
1 12 272
2 18 272
3 45 272
4 5 272
5 71 272
6 96 272
7 13 272
8 12 272

最佳答案

一种标准的awk方式。

$ awk 'FNR==NR{sum+=$2;next}; {print $0,sum}' file.txt{,}
1 12 272
2 18 272
3 45 272
4 5 272
5 71 272
6 96 272
7 13 272
8 12 272

关于bash - awk总和一列并在输入的每一行上打印总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10510917/

10-10 17:46