[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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


谢谢大家帮忙!!!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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

评分人数

TOP

本帖最后由 mick00034 于 2014-4-6 20:31 编辑

回复 2# terse
,谢谢,解决了

TOP

  1. set "pattern="1[0-9]*;*2014-[0-9][0-9]-[0-9][0-9]\^>""
复制代码
大哥,能帮小弟解释下吗?2# terse

TOP

第三方
  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"
复制代码

TOP

返回列表