Powershell正则表达式日志条目是X分钟

时间:2016-03-18 09:31:28

标签: regex powershell scripting

我想运行一个脚本,每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

但这是非常静态的,我想要一些更动态的东西,允许我随时运行脚本,只计算“最后五分钟”的条目。有没有正则表达式的方法呢?

1 个答案:

答案 0 :(得分:1)

也许是这样的?

$date = get-date

$h = $date.TimeOfDay.Hours
$end = $date.TimeOfDay.Minutes
$start = $end -5

$pattern = "$($h):[\b($start-$end)\b]"

....