我想知道如何在继续编写脚本之前告诉powershell等待某个日志行。我设法使用以下告诉powershell要查找的内容,
Get-Content log.txt -Wait | select-string "keyword"
但由于-Wait
的使用,powershell永远不会继续。还有另一种方法我可以告诉powershell只在等待线路出现一次才能继续吗?
答案 0 :(得分:2)
更好的方法让它发挥作用:
while($true){
Get-Content .\test.log -Wait | Select-String "keyword" | %{ write-host Found $_; break}
}
write-host "start script"
可能效率不高,但你可以这样试试:
while(-not (gc .\test.log | select-string "keyword" )){ sleep 1}
write-host "start script"
击> <击> 撞击>
答案 1 :(得分:2)
经过一些实验,以下似乎可以完成这项任务:
Get-Content log.txt -Wait | Select-String "keyword" | %{ write-host $_; break}