免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2374 | 回复: 6
打印 上一主题 下一主题

用uniq能实现以下功能吗?如不能,那用什么简单方法可以实现呢,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-28 22:44 |只看该作者 |倒序浏览
各位牛人,帮我个小忙,如何才能实现以下功能?
$ cat xxx.txt
aaa 22
aaa 33
aaa 44
bbb 11
bbb 22
ccc 66

如何得到以下结果:
aaa 99
bbb 33
ccc 66

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-09-28 22:51 |只看该作者
  1. awk 'NF==2{a[$1]+=$2}END{for(i in a)print i,a[i]}' xxx.txt
复制代码

[ 本帖最后由 cjaizss 于 2008-9-29 11:38 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2008-09-28 22:57 |只看该作者
原帖由 cjaizss 于 2008-9-28 22:51 发表
awk 'NF==2{a[$1]+=$2}END{for(i in a)print i,a}' xxx.txt

如果要按照出现的顺序的话,

  1. awk 'BEGIN{i=0}
  2. NF==2{
  3.         if(a[$1]==""){
  4.                  b[i++]=$1
  5.                  a[$1]=$2
  6.         }else
  7.                  a[$1]+=$2
  8. }
  9. END{for(j=0;j<i;j++)print b[j],a[b[j]]}' xxx.txt
复制代码

[ 本帖最后由 cjaizss 于 2008-9-29 11:42 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2008-09-28 23:13 |只看该作者
unip肯定是实现不了
cat ur-file | awk '{a[$1]+=$2}END{for(i in a)print i,a [ i ] }' | sort

#最后的i两边无空格

[ 本帖最后由 寂寞烈火 于 2008-9-28 23:30 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-09-28 23:42 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2008-09-29 10:38 |只看该作者
谢谢各位!你们这些热心的牛人。

[ 本帖最后由 wttxnn 于 2008-9-29 10:45 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
7 [报告]
发表于 2008-09-29 11:41 |只看该作者
昨天代码中有笔误,不好意思,今天改了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP