免费注册 查看新帖 |

Chinaunix

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

[文本处理] 每人随机输出一门成绩 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-06-03 22:57 |只看该作者 |倒序浏览
各路大神,现身帮助

文件如下:

张三  英语 93
张三  数学 99
李四  英语 93
李四  数学 98
王五  英语 94

处理后:

张三  英语 93
李四  数学 98
王五  英语 94

谢谢!

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
2 [报告]
发表于 2014-06-03 23:45 |只看该作者
本帖最后由 yestreenstars 于 2014-06-03 23:54 编辑
  1. awk 'BEGIN{srand()}{if(!a[$1]++)b[++n]=$1;c[$1,a[$1]]=$2" "$3}END{for(i=0;i++<n;)print b[i],c[b[i],int(rand()*a[b[i]])+1]}'
复制代码

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
3 [报告]
发表于 2014-06-04 09:21 |只看该作者
回复 1# 米兰的_小木匠
  1. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  2. 李四  数学 98
  3. 王五  英语 94
  4. 张三  数学 99
  5. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  6. 李四  数学 98
  7. 王五  英语 94
  8. 张三  数学 99
  9. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  10. 李四  数学 98
  11. 王五  英语 94
  12. 张三  英语 93
  13. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  14. 李四  英语 93
  15. 王五  英语 94
  16. 张三  数学 99
  17. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  18. 李四  英语 93
  19. 王五  英语 94
  20. 张三  数学 99
  21. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  22. 李四  数学 98
  23. 王五  英语 94
  24. 张三  英语 93
  25. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  26. 李四  数学 98
  27. 王五  英语 94
  28. 张三  数学 99
  29. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
  30. 李四  英语 93
  31. 王五  英语 94
  32. 张三  数学 99
  33. [seesea@UC ~]$ shuf file | awk '{ar[$1] = $0} END{for (i in ar) print ar[i]}'
复制代码

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
4 [报告]
发表于 2014-06-04 21:59 |只看该作者
  1. sort -R file | awk '!a[$1]++'
复制代码
如果你的sort不支持-R参数, 那就是版本太旧了

sort --version
sort (GNU coreutils) 8.22
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP