按TAG:分段统计文件中[/done]的累计出现次数
分段累计统计TAG间
[/done]行数的PowerShell实现 需求说明
需要统计文件中每个TAG:匹配位置之前的[/done]行数,且累计计数到下一个TAG:匹配处,直至文件结束,期望输出为3、6、10。现有代码仅能统计全局[/done]总数,无法实现分段累计。
解决方案代码
# 初始化累计计数器 $totalDone = 0 # 逐行读取文件并处理 Get-Content out.txt | ForEach-Object { # 匹配到[/done]时累计计数 if ($_ -match '\[/done\]') { $totalDone++ } # 匹配到TAG:开头的行时,输出当前累计数 elseif ($_ -match '^TAG:') { Write-Host $totalDone } } # 文件遍历结束后输出最终累计数 Write-Host $totalDone
代码逻辑说明
- 初始化
$totalDone作为累计计数器,初始值为0 - 逐行读取目标文件,每遇到一行包含
[/done],就将计数器加1 - 每遇到以
TAG:开头的行,立即输出当前累计的[/done]行数 - 文件全部遍历完成后,输出最终的累计数,确保覆盖到最后一段无后续
TAG:的内容
内容的提问来源于stack exchange,提问作者JustNoobish619
相关产品推荐
相关产品推荐

