博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

AWK中如何按列求和

Posted on 2013-04-24 18:48  Bruce Zhang  阅读(4077)  评论(0编辑  收藏  举报

参照:http://www.linuxsong.org/2010/09/shell-column-sum/

在Shell中,我们可以用awk实现按列求和的功能,非常简单。看下面的例子:
1.简单的按列求和

[linux@test /tmp]$ cat test
123.52
125.54
126.36
[linux@test /tmp]$ awk '{sum += $1};END {print sum}' test
375.42


2.对符合某些条件的行,按列求和

[linux@test /tmp]$ cat test
aaa 123.52
bbb 125.54
aaa 123.52
aaa 123.52
ccc 126.36

对文件test中 第一列为aaa的行求和

[linux@test /tmp]$ awk '/aaa/ {sum += $2};END {print sum}' test
370.56