免费注册 查看新帖 |

Chinaunix

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

[文本处理] 如何用 sed 匹配 日期格式 yyyy-MM-dd'T'HH:mm:ss [复制链接]

论坛徽章:
0
发表于 2013-06-28 16:54 |显示全部楼层

sed 's/(((19)|(20))\d\d[-/]((0\d)|(1[012]))[-/](([12]?\d)|(3[01]))T(\d\d[:]\d\d[:]\d\d))/p' a.dat

[AA]$ sed '/(((19)|(20))\d\d[-/]((0\d)|(1[012]))[-/](([12]?\d)|(3[01]))T(\d\d[:]\d\d[:]\d\d))/p' a.dat
1967-08-13T00:00:00
1967-08-13T00:00:00
9999-08-13T00:00:00
1967-88-13T00:00:00

像这种9999的还是显示出来了。。。

论坛徽章:
50
15-16赛季CBA联赛之广夏
日期:2018-11-05 09:42:462015年亚冠纪念徽章
日期:2015-07-23 11:58:122015亚冠之广州富力
日期:2015-07-07 08:26:172015亚冠之塔什干棉农
日期:2015-06-29 09:08:072015年亚洲杯之伊朗
日期:2015-03-08 20:51:012015年迎新春徽章
日期:2015-03-04 09:58:11未羊
日期:2014-10-16 22:41:47处女座
日期:2014-10-16 15:33:33酉鸡
日期:2014-03-13 12:54:10巳蛇
日期:2014-03-10 14:39:052015亚冠之德黑兰石油
日期:2015-07-29 12:46:372015亚冠之德黑兰石油
日期:2015-08-07 12:54:11
发表于 2013-06-28 17:04 |显示全部楼层
sed还不支持\d这种正则。
能否把你要处理文本贴几行出来,并说明要求的结果。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
发表于 2013-06-28 17:08 |显示全部楼层
为什么不可以是9999?




问下如果是闰年呢?

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
发表于 2013-06-28 17:17 |显示全部楼层
本帖最后由 zooyo 于 2013-06-28 17:20 编辑

你的这个正则,确实没看懂,不好意思.只有自己写了一个,不是特别严谨,但是基本准确.
  1. root@ubuntu-64:/# cat file
  2. 1967-08-13T00:00:00
  3. 1967-08-13T00:00:00
  4. 9999-08-13T00:00:00
  5. 1967-88-13T00:00:00
  6. root@ubuntu-64:/# grep -P "[12]\d{3}-(0[1-9]|1[012])-(0[1-9]|[1-2][0-9]|3[01])T([0-5][0-9]:){2}[0-5][0-9]" file
  7. 1967-08-13T00:00:00
  8. 1967-08-13T00:00:00
复制代码

论坛徽章:
0
发表于 2013-06-28 17:19 |显示全部楼层

a.dat
9999-08-13T00:00:00
1967-18-13T00:00:00
1967-08-13T00:00:00
9999-18-13T00:00:00
ADDDDDDDDDDDDDDDDDD



只想要符合格式的不超过现在的日期 就行啦。
1967-08-13T00:00:00


如果做不到,就校验下是否是日期就行了,别有些 明显看着就不是日期的

论坛徽章:
0
发表于 2013-06-28 17:22 |显示全部楼层
回复 4# zooyo


    thanks

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
发表于 2013-06-29 23:04 |显示全部楼层
20130229
20120230
这些的考虑
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

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

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

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP