gpt4 book ai didi

powershell - 如何根据某些条件将数据 fork 到不同的管道中?

转载 作者:行者123 更新时间:2023-12-01 17:22:30 26 4
gpt4 key购买 nike

是否可以根据某些条件将管道数据发送到两条不同的路径,而无需重新执行上游命令?这里的符号都是错误的,但这是我希望看到的......

PS> Get-SomeInterestingData `
| ?{ <condition> } `
| %{ <positive> } `
| %{ <negative> }

我可以使用嵌套管道/表达式来实现吗?

PS> Get-SomeInterestingData `
| %{
$_ | ?{ <condition> } | %{ <positive> } -or `
$_ | ?{ -not <condition> } | %{ <positive> }
}

如果您无法直接访问数据或数据生成函数,而是从管道接收数据怎么办?比如,作为脚本或函数参数 block 的一部分,例如...

param(
[Parameter(ValueFromPipeline = $true)]
$InputObject,
)

最佳答案

在 PowerShell 4.0 和更新版本中,您可以在 Split 模式下使用 Where() 扩展方法:

$Even,$Odd = @(1..10).Where({$_ % 2 -eq 0},'Split')

输入集合将被分成 2 个,满足过滤器的项和不满足过滤器的项。然后您可以处理每一个,而无需再次定义输入集合

关于powershell - 如何根据某些条件将数据 fork 到不同的管道中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44552281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com