分页: 1 / 1

ubunut如何用shell 对某列求和

发表于 : 2016-11-25 21:32
lzhp1501
例如如何求第2列中是13.10并且第6列是sell的对应的第4列的和

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


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

发表于 : 2016-11-25 21:52
lilydjwg

代码: 全选

awk '$2 == "13.10" && $6 == "sell" { s+= $4; } END {print s}'

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

发表于 : 2016-11-25 22:09
lzhp1501
lilydjwg 写了:

代码: 全选

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

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

发表于 : 2016-11-25 22:14
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];}}'

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

发表于 : 2016-11-25 22:15
lilydjwg

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

发表于 : 2016-11-25 22:42
lzhp1501
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 ,十分感谢