免费注册 查看新帖 |

Chinaunix

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

shell脚本的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-10 17:17 |只看该作者 |倒序浏览
我有一个文件,内容如下:
root@112U8:~/lzg# more data.txt
test6 1114
test_1 2376
test_2 2146
test_3 1802
test_4 1819
test_x 2933
test_1 80
test_x 1664

我想用命令把第1列相同的记录第2列相加,如下:
test6 1114
test_1 2456
test_2 2146
test_3 1802
test_4 1819
test_x 4597

顺序无所谓,主要是结果,要如何实现?

麻烦各位给点提示,谢谢!

论坛徽章:
0
2 [报告]
发表于 2009-02-10 17:20 |只看该作者
  1. [test@erpdataserver ~]$ awk '{a[$1]+=$2}END{for (i in a ) print i ,a[i]}' ufile
  2. test_x 4597
  3. test6 1114
  4. test_1 2456
  5. test_2 2146
  6. test_3 1802
  7. test_4 1819
复制代码

论坛徽章:
0
3 [报告]
发表于 2009-02-10 17:25 |只看该作者
awk会自动建立数组??

论坛徽章:
0
4 [报告]
发表于 2009-02-10 17:26 |只看该作者
是我理解错了吗?二楼的大哥能解释一下吗?谢谢!

论坛徽章:
0
5 [报告]
发表于 2009-02-10 17:30 |只看该作者
噢!

以列1为键,创建数组,是吧?!

论坛徽章:
0
6 [报告]
发表于 2009-02-10 17:35 |只看该作者

回复 #5 unixkumao 的帖子

对,以$1为下标,$2为值建数组。。

论坛徽章:
0
7 [报告]
发表于 2009-02-10 17:39 |只看该作者
非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP