如何在PowerShell中添加到管道?

4
假设我有两个文件,f1.txtf2.txt。需要对f1.txt进行一些更正,之后这两个文件需要一起处理。如何将f1.txt更正的输出与f2.txt的数据合并到管道中?
下面是一张示意图:
Get-Content f1.txt |
% {
    $_ #SOME OPERATION
} # How do I merge this output into the next pipeline?
Get-Content f2.txt |
% {
    #COMBINED OPERATIONS on f1.txt output and f2.txt
} > output.txt

我明白可以将第一次操作保存到临时文件中,再次读取以进行合并操作。
...
} > temp.txt
Get-Content temp.txt, f2.txt |
...

但是有没有一种方法可以在不创建缓冲文件的情况下完成呢?
1个回答

6
您可以将多个命令放在单个ScriptBlock中并调用它:
& {
    Get-Content f1.txt |
    % {
        $_ #SOME OPERATION
    }
    Get-Content f2.txt
} |
% {
    #COMBINED OPERATIONS on f1.txt output and f2.txt
} > output.txt

谢谢!运行得非常顺利。 - hazrmard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接