Board logo

标题: [文本处理] 批处理怎样统计文档里面两个指定的字串符,并更改内容? [打印本页]

作者: 786021512    时间: 2018-11-20 19:07     标题: 批处理怎样统计文档里面两个指定的字串符,并更改内容?

新手求助
怎样统计一份文档里面两种不同的字串符并统计出现的次数
例如
小明有红帽子
小明有红帽子
小明有红帽子
小明有绿帽子
小明有66666顶帽子

在上面文档里统计小明有4顶帽子然后更改这份文档变成
小明有红帽子
小明有红帽子
小明有红帽子
小明有绿帽子
小明有4顶帽子

请大神帮帮忙
作者: xczxczxcz    时间: 2018-11-20 21:51

就看有没有会用的  win7 以上。保存 xxx.ps1 右键 powershell 运行
  1. (gc ".\1.txt"|%{if($_ -match '小明有(红|绿)帽子'){$_;$num += 1}})|sc ".\帽子.txt"
  2. ac ".\帽子.txt" -Value ("小明有" + $num + "顶帽子")
  3. pause
复制代码
=====================
作者: Batcher    时间: 2018-11-20 22:09

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=0"
  4. (for /f %%i in ('type "1.txt"') do (
  5.     set "str=%%i"
  6.     if "!str:顶帽子=!" equ "%%i" (
  7.         set /a n+=1
  8.         echo %%i
  9.     ) else (
  10.         echo 小明有!n!顶帽子
  11.     )
  12. ))>"2.txt"
复制代码

作者: hlzj88    时间: 2018-11-21 09:02

简单依旧每行的内容都有小明和帽子
  1. findstr /iv "顶帽子" 1.txt>>2.txt
  2. for /f "tokens=2 delims=:" %%a in ('find /c /v "" 2.txt') do set/a sl=%%a
  3. echo 小明有%sl%顶帽子>>2.txt
  4. move /y 2.txt 1.txt
复制代码





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