免费注册 查看新帖 |

Chinaunix

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

[文本处理] 第一列相同的情况下,统计第三列关键词出现次数 [复制链接]

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-29 22:16 |只看该作者 |倒序浏览
文件格式如下
  1. Contig1        10805        cell culture
  2. Contig1        5366        spike
  3. Contig100        38446        root
  4. Contig100        38446        root
  5. Contig1001        13750        root
  6. Contig1001        13750        root
  7. Contig1002        10216        callus
复制代码
第一列比较,如果相同则统计第三列出现的次数
结果
  1. Contig1        cell culture        1        spike        1
  2. Contig100        root        2               
  3. Contig1001        root        2               
  4. Contig1002        callus        1               
复制代码
如果不好转换
这个结果也行
  1. Contig1        cell culture        spike
  2. Contig100        root       
  3. Contig1001        root       
  4. Contig1002        callus       
复制代码

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
2 [报告]
发表于 2014-10-30 00:00 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
3 [报告]
发表于 2014-10-30 10:24 |只看该作者
  1. Contig1        5366        spike
  2. Contig1        10805        cell culture
  3. Contig100        38446        root
  4. Contig100        38446        root
  5. Contig1001        13750        root
  6. Contig1001        13750        root
  7. Contig1002        10216        callus
  8. Contig1002        10216        callus
  9. Contig1002        10216        callus
  10. Contig1003        38446        root
  11. Contig1003        8172        seed
  12. Contig1004        927        seed
  13. Contig1004        927        seed
  14. Contig1004        434        root
  15. Contig1004        434        root
  16. Contig1008        927        seed
  17. Contig1008        927        seed
复制代码

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
4 [报告]
发表于 2014-10-30 10:27 |只看该作者
得到的结果是
  1. Contig1 10805 cell  :1
  2. Contig1 5366 spike  :1
  3. Contig100 38446 root  :2
复制代码
也许是分隔符有问题,文件是 \t回复 2# zooyo


   

论坛徽章:
3
申猴
日期:2014-10-14 20:12:06巨蟹座
日期:2014-10-20 11:39:452015年迎新春徽章
日期:2015-03-04 10:01:44
5 [报告]
发表于 2014-10-30 12:17 |只看该作者
cat filename |sort -t1 |awk '{print $1,$3}'|uniq -c|awk '{print $2,$3,":"$1}'

论坛徽章:
1
摩羯座
日期:2015-01-08 14:01:55
6 [报告]
发表于 2014-10-31 10:59 |只看该作者
  1. awk '{a[$1,$3]++;b[$0]=$0}END{for(c in b){split(c,d);print d[1],d[3],(a[d[1],d[3]])}}' filename
复制代码

论坛徽章:
771
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
7 [报告]
发表于 2014-10-31 13:44 |只看该作者
回复 1# mswsg
  1. awk '{s=$3;for(i=4;i<=NF;i++)s=s" "$i;a[$1,s]++} END{for(i in a){split(i,b,SUBSEP);c[b[1]]=length(c[b[1]])?c[b[1]]" "b[2]" "a[i]:b[2]" "a[i]};for(i in c)print i,c[i]}' i
  2. Contig1 cell culture 1 spike 1
  3. Contig1001 root 2
  4. Contig1002 callus 1
  5. Contig100 root 2
复制代码

论坛徽章:
22
处女座
日期:2014-10-11 13:33:292015亚冠之塔什干火车头
日期:2015-07-20 19:59:042015亚冠之塔什干火车头
日期:2015-07-26 10:59:31程序设计版块每日发帖之星
日期:2015-08-05 06:20:00每日论坛发贴之星
日期:2015-08-05 06:20:00程序设计版块每日发帖之星
日期:2015-08-07 06:20:00每日论坛发贴之星
日期:2015-08-07 06:20:002015亚冠之阿尔纳斯尔
日期:2015-10-01 15:23:28白银圣斗士
日期:2015-12-07 17:17:06操作系统版块每日发帖之星
日期:2015-12-27 06:20:002015亚冠之广州富力
日期:2015-07-08 15:48:31程序设计版块每日发帖之星
日期:2015-06-11 22:20:00
8 [报告]
发表于 2014-11-02 23:50 |只看该作者
awk '{a[$1]=a[$1]?a[$1]" "$33}END{for(i in a)print i,a[i]}' file
现学现用,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP