![如何将多个命令的输出作为另一个命令的输入?](https://linux22.com/image/1607216/%E5%A6%82%E4%BD%95%E5%B0%86%E5%A4%9A%E4%B8%AA%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E4%BD%9C%E4%B8%BA%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%85%A5%EF%BC%9F.png)
我想将多个 shell 命令的输出通过管道传输作为另一个命令的输入。
例如:
>>> ls
folder1
folder2
>>> ls folder1
file1
file2
>>> ls folder2
file1
file2
file3
>>> ls folder1 > out1.txt; ls folder2 > out2.txt; diff out1.txt out2.txt
2a3
> file3
在上面的例子中,我必须将这两个ls
命令的输出保存到单独的文件中,然后将它们进行比较diff
。我希望能够在一行中比较这两个文件夹,而不必创建额外的文件夹/文件。
以下我尝试过不起作用:
>>> diff ("ls folder1") ("ls folder2")
>>> diff < ("ls folder1") ("ls folder2")
>>> ("ls folder1") ("ls folder2") | diff
... 我想要类似的东西。
不仅仅是diff
,而且我想要某种东西来将任意数量的输出作为输入进行管道传输,而无需创建新的文件夹/文件。