免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10355 | 回复: 90

[文本处理] 中秋送题目^_^ [复制链接]

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2014-09-05 16:42 |显示全部楼层
  1. A        B        C        D
  2. -        11         -        0
  3. 40         12         -        0
  4. -        12         -        0
  5. 37         13         -        0
  6. -        13         -        -
  7. -        14         -        -
  8. -        15         -        -
  9. 50         -        0         -
  10. 49         -        3         0
  11. 48         -        0         23
  12. 47         -        3         0
  13. 46         -        0         3
  14. 45         -        -        2
  15. 44         -        -        0
  16. 43         -        -        3
  17. 42         -        -        2
  18. 41         -        -        2
  19. 39         -        43         0
  20. 38         -        -        -
  21. 36         -        54         3
  22. 35         -        -        3
  23. 34         -        4         -
  24. 33         -        -        -
  25. -        -        25         0
  26. -        -        24         0
  27. -        -        23         0
  28. -        -        22         0
  29. -        -        -        5
  30. -        -        -        4
  31. -        -        -        2
  32. -        -        -        4


复制代码
A B C D 四列数据,要求排序得到如下,
先排A列,从小到大
再排B列,从A列的空值(-)开始,从小到大
。。。
最后完成排序。
  1. A        B        C        D
  2. 33         -        -        -
  3. 34         -        4         -
  4. 35         -        -        3
  5. 36         -        54         3
  6. 37         13         -        0
  7. 38         -        -        -
  8. 39         -        43         0
  9. 40         12         -        0
  10. 41         -        -        2
  11. 42         -        -        2
  12. 43         -        -        3
  13. 44         -        -        0
  14. 45         -        -        2
  15. 46         -        0         3
  16. 47         -        3         0
  17. 48         -        0         23
  18. 49         -        3         0
  19. 50         -        0         -
  20. -        11         -        0
  21. -        12         -        0
  22. -        13         -        -
  23. -        14         -        -
  24. -        15         -        -
  25. -        -        22         0
  26. -        -        23         0
  27. -        -        24         0
  28. -        -        25         0
  29. -        -        -        2
  30. -        -        -        4
  31. -        -        -        4
  32. -        -        -        5
复制代码
任何语言实现都可以~~
最好猪大家中秋快乐~

论坛徽章:
2
白羊座
日期:2013-11-18 19:52:42辰龙
日期:2014-09-07 07:46:06
发表于 2014-09-05 17:09 |显示全部楼层
2 simple

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
发表于 2014-09-05 17:12 |显示全部楼层
本帖最后由 这个冬天不冷 于 2014-09-05 17:20 编辑
  1. awk '$1!="-"{a[$1]=$0}$1=="-"&&$2!="-"{c[$2]=$0}$1=="-"&&$2=="-"&&$3!="-"{e[$3,NR]=$0}$1=="-"&&$2=="-"&&$3=="-"&&$4!="-"{g[$4,NR]=$0}END{len=asorti(a,b);for(i=0;i<len;i++)print a[b[i]];len2=asorti(c,d);for(i=0;i<=len2;i++)print c[d[i]];len=asorti(e,f);for(i=0;i<=len;i++)print e[f[i]];len=asorti(g,h);for(i=0;i<=len;i++)print g[h[i]];}' file1

  2. 33         -        -        -
  3. 34         -        4         -
  4. 35         -        -        3
  5. 36         -        54         3
  6. 37         13         -        0
  7. 38         -        -        -
  8. 39         -        43         0
  9. 40         12         -        0
  10. 41         -        -        2
  11. 42         -        -        2
  12. 43         -        -        3
  13. 44         -        -        0
  14. 45         -        -        2
  15. 46         -        0         3
  16. 47         -        3         0
  17. 48         -        0         23
  18. 49         -        3         0
  19. 50         -        0         -

  20. -        11         -        0
  21. -        12         -        0
  22. -        13         -        -
  23. -        14         -        -
  24. -        15         -        -

  25. -        -        22         0
  26. -        -        23         0
  27. -        -        24         0
  28. -        -        25         0

  29. -        -        -        2
  30. -        -        -        4
  31. -        -        -        4
  32. -        -        -        5
复制代码

论坛徽章:
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
发表于 2014-09-05 17:13 |显示全部楼层
哟,SS大师也来出题了~

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2014-09-05 17:51 |显示全部楼层
回复 4# yestreenstars


    中秋没有月饼送,只能送道题了

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2014-09-05 17:53 |显示全部楼层
回复 2# damcool


    大过节,娱乐一下

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
发表于 2014-09-05 18:11 |显示全部楼层
史上最易懂但是最不效率的答案
  1. sort -n file|tee -|sed '/^[0-9]/,$!d'|awk '!a[$0]++'
复制代码
大伙中秋快乐

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
发表于 2014-09-05 19:15 |显示全部楼层
学生党:无聊...
[yhsafe@shell ~]$ sort -n yhsafe.txt |awk '$1=="-"{a[x++]=$0}$1!="-"{b[x++]=$0}END{for(i=1;i<=asort(b,s);i++){print s[i]};for(i=1;i<=asort(a,p);i++){print p[i]|"sort -n"}}'
33         -        -        -
34         -        4         -
35         -        -        3
36         -        54         3
37         13         -        0
38         -        -        -
39         -        43         0
40         12         -        0
41         -        -        2
42         -        -        2
43         -        -        3
44         -        -        0
45         -        -        2
46         -        0         3
47         -        3         0
48         -        0         23
49         -        3         0
50         -        0         -
-        11         -        0
-        12         -        0
-        13         -        -
-        14         -        -
-        15         -        -
-        -        -        2
-        -        22         0
-        -        23         0
-        -        24         0
-        -        25         0
-        -        -        4
-        -        -        4
-        -        -        5

论坛徽章:
2
水瓶座
日期:2014-02-28 14:20:09辰龙
日期:2014-06-16 13:18:51
发表于 2014-09-05 19:26 |显示全部楼层
回复 8# 李满满


    学生党就不能把代码放到 代码框里吗?

论坛徽章:
3
丑牛
日期:2014-09-13 18:19:22摩羯座
日期:2014-10-10 17:43:02水瓶座
日期:2014-10-16 01:00:22
发表于 2014-09-05 19:28 |显示全部楼层
ok才来新手,以后注意嗯嗯嗯,好习惯回复 9# rogantianwz


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP