Powershell:显示符合条件的日志的最后X行,并继续观察文件

Cri*_*scu 3 powershell

我正在尝试查看日志文件中出现的单词("清除").我想显示最后10个匹配行(在命令运行时)并继续观察文件以查找符合条件的新附加行.

到目前为止,我有一些使用PowerShell的东西:

get-content .\CallAudit.Engine.log -tail 10 -Wait | where {$_ -match "Purge"}
Run Code Online (Sandbox Code Playgroud)

这有效,但它获得最后(任意)10行,然后才应用过滤器.

我想要

  • 只获得匹配的最后10行
  • 让命令继续观看文件.

可以这样做吗?

Fro*_* F. 5

-Tail 10不会帮助你,因为你的purge-filter在读完最后10行(可能包含也可能不包含purge)后执行.

我会把它分成两个电话.一个列出最后10个值,一个列表进行监控.

Get-Content -Path .\CallAudit.Engine.log | Where-Object {$_ -match "Purge"} | Select-Object -Last 10
Get-Content -Path .\CallAudit.Engine.log -Wait -Tail 0 | Where-Object {$_ -match "Purge"}
Run Code Online (Sandbox Code Playgroud)