找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28282|回复: 4

[文本处理] (已解决)批处理如何只提取文本行中日期前面的数字号码?

[复制链接]
发表于 2014-4-6 17:25:03 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-8-6 21:06 编辑

批处理如何只提取日期前面的号码?
因日期有不同月份的,可以忽略,按年划分就好了。像下面只保留;2014前面的数字号码。

#Tel-Num;Start-Tm1;Length1;CallFee1;Attendant-Num;Start-Tm2;Length2;CallFee2;ReportData;
13737557313;2014-04-05 21:34:54;214;1.944;;;0;0.0;;
13929061961;2014-04-05 21:33:45;214;1.944;;;0;0.0;;
13712285063;2014-04-05 21:35:26;32;0.324;;;0;0.0;;
18657400527;;0;0.0;;;0;0.0;;
13858324581;;0;0.0;;;0;0.0;;
13862630530;2014-04-05 21:35:02;25;0.27;;;0;0.0;;
15026819132;;0;0.0;;;0;0.0;;
15201760417;;0;0.0;;;0;0.0;;
15903255925;;0;0.0;;;0;0.0;;
15117354917;;0;0.0;;;0;0.0;;
13958834379;2014-04-05 21:32:28;150;1.35;;;0;0.0;;
15880204414;;0;0.0;;;0;0.0;;
15555868448;;0;0.0;;;0;0.0;;
18792227990;;0;0.0;;;0;0.0;;
15954174367;2014-04-05 21:33:21;68;0.648;;;0;0.0;;
15145433828;;0;0.0;;;0;0.0;;
15250986555;;0;0.0;;;0;0.0;;
15016813782;;0;0.0;;;0;0.0;;
13699336282;2014-04-05 21:33:36;40;0.378;;;0;0.0;;
15514581852;;0;0.0;;;0;0.0;;
13656507275;2014-04-05 21:31:14;172;1.566;;;0;0.0;;
15025186790;;0;0.0;;;0;0.0;;
15017092240;;0;0.0;;;0;0.0;;
15557686931;;0;0.0;;;0;0.0;;
13699862013;;0;0.0;;;0;0.0;;
13654742219;2014-04-05 21:32:43;43;0.432;;;0;0.0;;
15970959809;2014-04-05 21:30:31;174;1.566;;;0;0.0;report_q0_ret=3;report_q1_ret=3;
15224116795;;0;0.0;;;0;0.0;;
13899112755;;0;0.0;;;0;0.0;;
15827452979;;0;0.0;;;0;0.0;;
13656800941;;0;0.0;;;0;0.0;;



提取后的样子(如有重复的,请过滤一下,谢谢)
13737557313
13929061961
13712285063
13862630530
13958834379
15954174367
13699336282
13656507275
13654742219
15970959809


谢谢大家帮忙!!!!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-4-6 18:32:44 | 显示全部楼层
  1. @echo off
  2. set "pattern="1[0-9]*;*2014-[0-9][0-9]-[0-9][0-9]\^>""
  3. for /f "delims=;" %%i in ('findstr /b %pattern% a.txt') do if not defined %%i echo %%i&set %%i=a
  4. pause
复制代码

评分

参与人数 2技术 +2 收起 理由
wangxiaodong + 1 乐于助人
mick00034 + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-4-6 20:11:21 | 显示全部楼层
本帖最后由 mick00034 于 2014-4-6 20:31 编辑

回复 2# terse
,谢谢,解决了
发表于 2014-4-6 20:52:58 | 显示全部楼层

  1. set "pattern="1[0-9]*;*2014-[0-9][0-9]-[0-9][0-9]\^>""
复制代码
大哥,能帮小弟解释下吗?2# terse
发表于 2016-8-6 21:24:17 | 显示全部楼层
第三方
  1. gawk -F";" "{if(/^[:spqce:]*[0-9][0-9]*;[0-9]{4}(-[0-9]{2}){2}/){!a[$1]?s=s$1"\n":a[$1]++}}END{print s}" "文本.txt">"结果.txt"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 07:24 , Processed in 0.032899 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表