PowerShell 如何用管道去把一个流的增量提交给某个程序(like curl,请求一个接口)?

2020-03-03 11:45:54 +08:00
 phpfpm

在一台 windows 的机器上,有一个不断增加的 log

利用 PowerShell 的Get-Content

PS \> Get-Content z:\foo.log -wait

可以动态的 tail 出来 log 的增量(类似 tail ) 之后用管道给 where 可以 filter 一些关键词

PS \> Get-Content z:\foo.log -wait | where {$_ -match "foo|bar|baz"}

所以我想问一下如何再加一层管道把每一行的内容给到一个命令呢

类似于

....... | Curl.exe http://foo.bar/collect -x $_

这样我就可以在服务端根据日志的增量进行一些报警什么的了?

1216 次点击
所在节点    Windows
2 条回复
ps1aniuge
2020-03-03 15:36:40 +08:00
Get-Content z:\foo.log -wait | where {$_ -match "foo|bar|baz"} | 过滤器 1 | 过滤器 2

搜 powershell 过滤器,

powershell 过滤器,类似于函数,它 从 $_ 接受数据,并把结果发送到 $_ ,即向管道后方传递。
ps1aniuge
2020-03-03 15:38:02 +08:00
请管理帮忙转移,此帖子到 powershell 区,谢谢。
https://www.v2ex.com/go/powershell

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/649358

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX