Board logo

标题: [文本处理] 批处理如何统计文本中含有指定字符串的行的数量? [打印本页]

作者: zhuxiaofeng    时间: 2017-7-28 17:19     标题: 批处理如何统计文本中含有指定字符串的行的数量?

BAT求助!
如何从文本文件中提取指定文本的数量,例如,a.txt内容如下:
正在 Ping 103.88.16.4 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
请求超时。
103.19.66.4 的 Ping 统计信息:
    数据包: 已发送 = 10,已接收 = 0,丢失 = 10 (100% 丢失),
如何自动计算出其中有多少个"请求超时"呢?
作者: zhanglei1371    时间: 2017-7-29 11:44

  1. //&cls& dir /a-d/b *.txt|cscript -nologo -e:jscript "%~0"&pause&exit/b
  2. var fso=new ActiveXObject("scripting.filesystemObject");
  3. while (!WSH.StdIn.AtEndOfStream){
  4. f=WSH.StdIn.ReadLine();
  5. text=fso.OpenTextFile(f,1).Readall();
  6. arr=text.match(/请求超时/g)||[]
  7. count=arr.length;
  8. file=fso.OpenTextFile("result.txt",8,1)
  9. file.write('文件'+f+'中的重复次数:'+count+'\r\n');
  10. file.close();
  11. }
复制代码

作者: taofan712    时间: 2017-7-29 19:02

find "请求超时" /c test.txt
作者: PS2.0    时间: 2017-7-29 21:32

test.ps1
  1. (gc 1.txt | Select-String "请求超时").count
复制代码





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