我想运行一个脚本,每5分钟擦除一次日志,以确定在那段时间内写入了多少条目。例如,如果我想计算16:30到16:34之间的条目数,我可能会这样做:
$start=0
$end=4
$result = Select-String -Path "C:\Path\To\log\file.txt" -Pattern "16:3[\b($start|$end)\b]" -AllMatches |
Select-Object -ExpandProperty Matches |
Measure-Object |
Select-Object -ExpandProperty Count
Write-Output $result
但这是非常静态的,我想要一些更动态的东西,允许我随时运行脚本,只计算“最后五分钟”的条目。有没有正则表达式的方法呢?
答案 0 :(得分:1)
也许是这样的?
$date = get-date
$h = $date.TimeOfDay.Hours
$end = $date.TimeOfDay.Minutes
$start = $end -5
$pattern = "$($h):[\b($start-$end)\b]"
....