V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
phpfpm
V2EX  ›  Windows

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

  •  
  •   phpfpm · Mar 3, 2020 · 1785 views
    This topic created in 2254 days ago, the information mentioned may be changed or developed.

    在一台 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 $_
    

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

    2 replies    2020-03-03 15:38:02 +08:00
    ps1aniuge
        1
    ps1aniuge  
       Mar 3, 2020
    Get-Content z:\foo.log -wait | where {$_ -match "foo|bar|baz"} | 过滤器 1 | 过滤器 2

    搜 powershell 过滤器,

    powershell 过滤器,类似于函数,它 从 $_ 接受数据,并把结果发送到 $_ ,即向管道后方传递。
    ps1aniuge
        2
    ps1aniuge  
       Mar 3, 2020
    请管理帮忙转移,此帖子到 powershell 区,谢谢。
    https://www.v2ex.com/go/powershell
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2631 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 11:09 · PVG 19:09 · LAX 04:09 · JFK 07:09
    ♥ Do have faith in what you're doing.