免费注册 查看新帖 |

Chinaunix

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

请各位帮忙一下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-16 11:12 |只看该作者 |倒序浏览
现在有这样的需求

1 A
1 B
2 A
2 C
3 A
4 A
4 B
4 C
想得到如下的结果,
1 A:1 B:1 C:0
2 A:1 B:0 C:1
3 A:1 B:0 C:0
4 A:1 B:1 C:1
分别第一个字段出现A、B、C的次数,谢谢了

论坛徽章:
0
2 [报告]
发表于 2011-08-16 11:24 |只看该作者
请各位帮忙,谢谢了

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
3 [报告]
发表于 2011-08-16 11:30 |只看该作者
回复 1# d_jacky
  1. echo '1 A
  2. 1 B
  3. 2 A
  4. 2 C
  5. 3 A
  6. 4 A
  7. 4 B
  8. 4 C'|awk '{a[$2]=1;b[$0]++;c[$1]=$1}END{for(j=1;j<=asort(c);j++){printf j;for(i=1;i<=asorti(a,d);i++)printf " "d[i]":"b[j FS d[i]]+0;print ""}}'
  9. 1 A:1 B:1 C:0
  10. 2 A:1 B:0 C:1
  11. 3 A:1 B:0 C:0
  12. 4 A:1 B:1 C:1
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
4 [报告]
发表于 2011-08-16 11:36 |只看该作者
  1. awk '{a[$1 FS $2]++;b[$1]}
  2.     END{for (i=1;i<=length(b);i++) print i " A: " int(a[i FS "A"]), "B: " int(a[i FS "B"]), "C: " int(a[i FS "C"])}' infile
复制代码

论坛徽章:
0
5 [报告]
发表于 2011-08-16 12:15 |只看该作者
回复 3# yinyuemi


    如果第一个不是数据,而是字符串,该怎么处理,谢谢

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
6 [报告]
发表于 2011-08-16 12:19 |只看该作者
回复 5# d_jacky


    给下你的真实数据看看,

论坛徽章:
0
7 [报告]
发表于 2011-08-16 12:25 |只看该作者
本帖最后由 d_jacky 于 2011-08-16 12:39 编辑

回复 6# yinyuemi

是这种,对第一列做统计,统计 大次数 小次数 等于次数
62304060        大
62304060        小
62313885        等于
62315411        大
62315411        小
62316105        等于
62319640        等于
62319640                小
62320257        大
62320257        等于

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
8 [报告]
发表于 2011-08-16 12:29 |只看该作者
awk '{a[$1" "$2]++;b[$1]++;c[$2]++}END{for(i in b){printf i" ";for(x in c){printf x":"(a[i" "x]?a[i" "x]:0)" "}printf"\n"}}' urfile

论坛徽章:
0
9 [报告]
发表于 2011-08-16 12:36 |只看该作者
回复 8# xinglu1983


    谢谢各位,对了

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
10 [报告]
发表于 2011-08-16 12:38 |只看该作者
回复 7# d_jacky
  1. $ echo '62304060        配线
  2. 62304060        联络
  3. 62313885        配线
  4. 62315411        主干
  5. 62315411        配线
  6. 62316105        配线
  7. 62319640        配线
  8. 62319640        主干
  9. 62320257        主干
  10. 62320257        配线' |awk '{a[$2]=1;b[$1 FS $2]++;c[$1]=$1}END{for(j=1;j<=asort(c);j++){printf c[j];for(i=1;i<=asorti(a,d);i++)printf " "d[i]":"b[c[j] FS d[i]]+0;print ""}}'
  11. 62304060 主干:0 联络:1 配线:1
  12. 62313885 主干:0 联络:0 配线:1
  13. 62315411 主干:1 联络:0 配线:1
  14. 62316105 主干:0 联络:0 配线:1
  15. 62319640 主干:1 联络:0 配线:1
  16. 62320257 主干:1 联络:0 配线:1
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP