免费注册 查看新帖 |

Chinaunix

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

[文本处理] 如何按照出生日期从小到大排序如下内容 [复制链接]

求职 : Linux运维
论坛徽章:
10
丑牛
日期:2013-11-22 14:59:41数据库技术版块每日发帖之星
日期:2016-08-13 06:20:0015-16赛季CBA联赛之山西
日期:2016-08-03 10:35:38数据库技术版块每日发帖之星
日期:2016-07-31 06:20:002016科比退役纪念章
日期:2016-06-27 14:08:14数据库技术版块每日发帖之星
日期:2016-06-02 06:20:0015-16赛季CBA联赛之广东
日期:2016-05-20 15:06:2215-16赛季CBA联赛之深圳
日期:2016-01-29 16:27:402015亚冠之阿尔艾因
日期:2015-09-08 16:35:3615-16赛季CBA联赛之北京
日期:2017-03-28 18:45:36
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-04-11 12:17 |只看该作者 |倒序浏览
本帖最后由 夏寥寥 于 2018-04-12 09:10 编辑

1.文本中包含中文和空格,需要根据出生日期从小到大排序

文本内容:
  1. 1李依依140108201304089335
复制代码


2.我自己尝试用中文做分隔符,发现分隔出的域不是预想的那样,分隔出的不是出生日期,而是序号为单数的人的姓名。请求大神指教。
  1. awk -F '[u4e00-u9fa5]'  '{print $2}' sort.txt
复制代码





论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
2 [报告]
发表于 2018-04-11 13:38 |只看该作者
本帖最后由 Windows19 于 2018-04-11 13:39 编辑

1李依山110108201304089335
2徐嘉齐110114201303125944
3张妙涵110108201306018629





楼主好像是要按这8个数字排序吧

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [报告]
发表于 2018-04-11 13:43 |只看该作者
本帖最后由 jason680 于 2018-04-11 14:47 编辑

回复 1# 夏寥寥

$ awk 'match($0,"([0-9]{5}.+)",m){a[substr(m[1],7,8)]=$0}END{t=asorti(a,b);for(n=1;n<=t;n+=1)print a[b[n]]}' file
18雷浩晖110112201209172055      
4孔睿  110108201210098636
21张季秋11010820121025861X
...
24程艺君110108201308268621  
25卜一涵371481201308292130
8赵庆庆110108201310010021


论坛徽章:
0
4 [报告]
发表于 2018-04-11 13:43 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

求职 : Linux运维
论坛徽章:
10
丑牛
日期:2013-11-22 14:59:41数据库技术版块每日发帖之星
日期:2016-08-13 06:20:0015-16赛季CBA联赛之山西
日期:2016-08-03 10:35:38数据库技术版块每日发帖之星
日期:2016-07-31 06:20:002016科比退役纪念章
日期:2016-06-27 14:08:14数据库技术版块每日发帖之星
日期:2016-06-02 06:20:0015-16赛季CBA联赛之广东
日期:2016-05-20 15:06:2215-16赛季CBA联赛之深圳
日期:2016-01-29 16:27:402015亚冠之阿尔艾因
日期:2015-09-08 16:35:3615-16赛季CBA联赛之北京
日期:2017-03-28 18:45:36
5 [报告]
发表于 2018-04-11 13:49 |只看该作者
回复 2# Windows19

对的!

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
6 [报告]
发表于 2018-04-11 14:22 |只看该作者
回复 5# 夏寥寥
3楼jason680大哥就是你要的结果了

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
7 [报告]
发表于 2018-04-11 14:24 |只看该作者
本帖最后由 1cpuer 于 2018-04-11 14:29 编辑

回复 1# 夏寥寥

# [ /home/soio/1bs/hello/Cc ] {2018-04-11 14:14:58}
: 1523427298:0;➜  awk '{print $2,$0}' 1sort1 | awk '{print gensub(/[^u4e00-u9fa5]/,"[&]","g")}'
[ ][ ][ ][ ][ ]1[�][�][�][�][�][�][�][�][�]110108201304089335
[ ][ ][ ][ ][ ]2[�][�][�][�][�][�][�][�][�]110114201303125944
[ ][ ][ ][ ][ ]3[�][�][�][�][�][�][�][�][�]110108201306018629
110108201210098636[ ][ ][ ][ ][ ]4[�][�][�][�][�][�][ ][ ]110108201210098636
[ ][ ][ ][ ][ ]5[�][�][�][�][�][�][�][�][�]110108201212259712
[ ][ ][ ][ ][ ]6[�][�][�][�][�][�][�][�][�]110101201305312071
[ ][ ][ ][ ][ ]7[�][�][�][�][�][�][�][�][�]110108201211161481


sed 's/[0-9]\{17\}[0-9 X]/[&]/g' 1sort1|awk -F'[' '{print $2,$1}' | sort

论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
8 [报告]
发表于 2018-04-11 14:26 |只看该作者
回复 1# 夏寥寥


<<<awk4.0+
  1. awk -F "" '{gsub(" ","");a=substr($0,NF-11,8);b[a]=$0}END{PROCINFO["sorted_in"]="@ind_num_asc";for(i in b){print b[i]}}' file
复制代码

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
9 [报告]
发表于 2018-04-11 14:56 |只看该作者
回复 8# wh7211

大哥  借题请问一下  从大到小排又怎样的呢

论坛徽章:
22
2015年亚洲杯之科威特
日期:2015-04-18 15:27:07每日论坛发贴之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之广夏
日期:2016-03-28 16:20:51程序设计版块每日发帖之星
日期:2016-04-09 06:20:00CU十四周年纪念徽章
日期:2016-05-03 09:35:1415-16赛季CBA联赛之天津
日期:2016-11-18 08:31:3115-16赛季CBA联赛之山西
日期:2016-12-07 16:29:5315-16赛季CBA联赛之八一
日期:2017-01-10 11:34:3415-16赛季CBA联赛之吉林
日期:2017-03-30 22:51:1915-16赛季CBA联赛之广夏
日期:2017-04-13 20:51:52程序设计版块每日发帖之星
日期:2016-01-27 06:20:00每日论坛发贴之星
日期:2015-12-28 06:20:00
10 [报告]
发表于 2018-04-11 15:10 |只看该作者
回复 8# wh7211

可以解释下这个吗
awk -F "" '{gsub(" ","");a=substr($0,NF-11,8);

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP