我可以执行以下操作:
sort -nbms file1.txt file2.txt
它将合并两个已经排序的文件。
我希望做的是获取两个命令的输出(已排序)并将其作为输入而不是 file1.txt 和 file2.txt 传入。
那可能吗?
答案1
看起来像是 shell 中复合语句的工作。像这样:
{ command1; command2; } | command3
在 bash 中你也可以使用命令重定向语法:
command3 < <(command1; command2)
以上是适用于任何接受来自 stdin 输入的命令的一般示例。当然,在您的情况下,您希望将其放置sort -nbms
为“command3”,并且您还可以使用进程替换语法来代替每个输入文件:
sort -nbms <(command1) <(command2)
后者可以与 sort 等接受多个输入文件或根本不接受 stdin 的命令一起使用。