免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: idjy
打印 上一主题 下一主题

[文本处理] shell awk 获得重复次数 像表格一样输出 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2015-08-21 08:49 |只看该作者
  1. awk
  2. '{a[$1,$2]++;
  3. if(!b[$1]){b[$1]=$1;m++};
  4. if(!c[$2]){c[$2]=$2;n++}
  5. }
  6. END { asort(c);asort(b);
  7.         printf "id ";for(i=1;i<=n;i++) printf("%s ",c[i]);print "";
  8.         for(i=1;i<=m;i++){printf("%d  ",b[i]);
  9.         {for(j=1;j<=n;j++) if (!a[b[i],c[j]]) printf "- ";else printf("%d ",a[b[i],c[j]]);print "";}}
  10. }'

  11. 1 a
  12. 2 b
  13. 3 c
  14. 4 a
  15. 1 b
  16. 1 c
  17. 2 b
  18. 2 d
  19. 1 a
  20. 3 a
  21. 7 o
  22. 6 m
  23. 5 n

  24. id a b c d m n o
  25. 1  2 1 1 - - - -
  26. 2  - 2 - 1 - - -
  27. 3  1 - 1 - - - -
  28. 4  1 - - - - - -
  29. 5  - - - - - 1 -
  30. 6  - - - - 1 - -
  31. 7  - - - - - - 1
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP