ubunut如何用shell 对某列求和

sh/bash/dash/ksh/zsh等Shell脚本
回复
lzhp1501
帖子: 39
注册时间: 2009-12-10 22:55
送出感谢: 1 次
接收感谢: 0

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
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

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
送出感谢: 1 次
接收感谢: 0

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
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

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];}}'
这些用户感谢了作者 lilydjwg 于这个帖子:
lzhp1501 (2016-11-25 22:30)
评价: 3.7%
头像
lilydjwg
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

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

#5

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

lzhp1501
帖子: 39
注册时间: 2009-12-10 22:55
送出感谢: 1 次
接收感谢: 0

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 ,十分感谢
我说我不帅,大家都打我,还骂我虚伪~
回复

回到 “Shell脚本”