【问题标题】:Powershell regex log entries that are X minutes oldX 分钟前的 Powershell 正则表达式日志条目
【发布时间】:2016-07-04 23:48:41
【问题描述】:

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

但这是相当静态的,我想要一些更动态的东西,让我可以随时运行脚本并只计算“最后五分钟”的条目。有没有一种正则表达式的方式来做到这一点?

【问题讨论】:

    标签: regex powershell scripting


    【解决方案1】:

    也许是这样的?

    $date = get-date
    
    $h = $date.TimeOfDay.Hours
    $end = $date.TimeOfDay.Minutes
    $start = $end -5
    
    $pattern = "$($h):[\b($start-$end)\b]"
    
    ....
    

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多