gpt4 book ai didi

powershell - 结束管道操作

转载 作者:行者123 更新时间:2023-12-03 01:21:21 25 4
gpt4 key购买 nike

在过滤器中,有什么方法可以结束管道操作吗?

一个很好的用途是获取列表的前n个元素,类似于SQL的TOP语句。如果我们编写了一个过滤器,将其称为“Top”,我们可以像下面这样检索前三个元素:

dir | Top 3

返回前三个后,我们就不再需要处理任何其他元素,实际上,我们希望能够告诉管道

Please don't give me any more elements



我知道Select-Object具有-First参数,但这不是我要问的问题。

我已经回答了 Powershell equivalent to F# Seq.forall问题,但我宁愿将其实现为结束管道输入的过滤器。如果有一个名为“end-pipeline”的操作,我可以将ForAll实现为:
filter ForAll([scriptblock] $predicate) {
process {
if ( @($_ | Where-Object $predicate).Length -eq 0 ) {
$false;
end-pipeline;
}
}
end {
$true;
}
}

最佳答案

您可以使用“break”语句,它将作为您的“end-pipeline” cmdlet

关于powershell - 结束管道操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156153/

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