ubunut如何用shell 对某列求和

sh/bash/dash/ksh/zsh等Shell脚本
回复
lzhp1501
帖子: 39
注册时间: 2009-12-10 22:55

ubunut如何用shell 对某列求和

#1

帖子 lzhp1501 » 2016-11-25 21:32

例如如何求第2列中是13.10并且第6列是sell的对应的第4列的和

用终端的命令 awk或者sed如何求?

附件
2016-11-25 20-51-04屏幕截图.png
我说我不帅,大家都打我,还骂我虚伪~
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: ubunut如何用shell 对某列求和

#2

帖子 lilydjwg » 2016-11-25 21:52

代码: 全选

awk '$2 == "13.10" && $6 == "sell" { s+= $4; } END {print s}'
lzhp1501
帖子: 39
注册时间: 2009-12-10 22:55

Re: ubunut如何用shell 对某列求和

#3

帖子 lzhp1501 » 2016-11-25 22:09

lilydjwg 写了:

代码: 全选

awk '$2 == "13.10" && $6 == "sell" { s+= $4; } END {print s}'
十分感谢,但是我的数据比较多,我想分别求第2列中各个数值,不仅是13.10还有13.11....中符合 第6列为sell的第4列的和
我说我不帅,大家都打我,还骂我虚伪~
头像
lilydjwg
论坛版主
帖子: 4249
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: ubunut如何用shell 对某列求和

#4

帖子 lilydjwg » 2016-11-25 22:14

lzhp1501 写了:
lilydjwg 写了:

代码: 全选

awk '$2 == "13.10" && $6 == "sell" { s+= $4; } END {print s}'
十分感谢,但是我的数据比较多,我想分别求第2列中各个数值,不仅是13.10还有13.11....中符合 第6列为sell的第4列的和
你干嘛不早说 :Faint

代码: 全选

awk '$6 == "sell" { s[$2]+= $4; } END{for(ver in s){print ver, s[ver];}}'
lzhp1501
帖子: 39
注册时间: 2009-12-10 22:55

Re: ubunut如何用shell 对某列求和

#6

帖子 lzhp1501 » 2016-11-25 22:42

lilydjwg 写了:
lzhp1501 写了:
lilydjwg 写了:

代码: 全选

awk '$2 == "13.10" && $6 == "sell" { s+= $4; } END {print s}'
十分感谢,但是我的数据比较多,我想分别求第2列中各个数值,不仅是13.10还有13.11....中符合 第6列为sell的第4列的和
你干嘛不早说 :Faint

代码: 全选

awk '$6 == "sell" { s[$2]+= $4; } END{for(ver in s){print ver, s[ver];}}'
It works ,十分感谢
我说我不帅,大家都打我,还骂我虚伪~
回复