Board logo

标题: [文本处理] 批处理如何提取每行中数字大于300的行? [打印本页]

作者: wang6542975    时间: 2017-7-21 14:30     标题: 批处理如何提取每行中数字大于300的行?

2017/7/21 12:29:09        来自 202.102.227.1 的回复: 字节=32 时间=347ms TTL=250
2017/7/21 12:29:10        来自 202.102.227.1 的回复: 字节=32 时间=335ms TTL=250
2017/7/21 12:29:11        来自 202.102.227.1 的回复: 字节=32 时间=323ms TTL=250
2017/7/21 12:29:12        来自 202.102.227.1 的回复: 字节=32 时间=2ms TTL=250
2017/7/21 12:29:13        来自 202.102.227.1 的回复: 字节=32 时间=2ms TTL=250
2017/7/21 12:29:14        来自 202.102.227.1 的回复: 字节=32 时间=2ms TTL=250

上面的文本中,怎么把时间大于等于300ms的这一行提取出来?
作者: wang6542975    时间: 2017-7-21 14:41

@echo off
findstr /r "[3-9][0-9][0-9]ms" "D:\1.txt"
pause
作者: qazplm    时间: 2017-7-21 17:55

回复 2# wang6542975

/r是多余的,另外大于999的某些数也匹配不到,虽然很可能不会出现那么大的数
作者: 3518228042    时间: 2017-7-21 19:45

  1. //&@cls&cscript -nologo -e:jscript "%~f0" >保存.TXT&pause
  2. WSH.Echo(
  3.     new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('测试文本.txt', 1).ReadAll().replace(/.+时间=[1-2]?[0-9]?[0-9]ms.+[\r\n]*/g, '')
  4. )
复制代码
根据论坛的相关文章修改的,好像不怎么严谨匹配
作者: WindCat    时间: 2017-7-23 23:18

一个比较邪道的做法...用UltraEdit处理下文字之间的空行,变成tab空行,贴到excel 然后排列就OK了
作者: PS2.0    时间: 2017-7-24 11:07

回复 5# WindCat


不需要UE
Excel导入数据的时候可以自己指定列分隔符或者字符串宽度




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2