我可以像这样将两个命令传递给一个孩子(编辑:实际上你不能这样做,请参阅 sarnold 答案):
(echo "1.1 2.2 3.3") && (echo "4.4 5.5 6.6") | cat
哪个输出
1.1 2.2 3.3
4.4 5.5 6.6
我想对 tar 的输出做类似的事情。目前我正在分析存储在单个 tar 文件中的数据,如下所示:
tar -x --to-command MySerialiser -f MyData1.tar.xz | MyAnalyser
whereMySerialiser
以准备好MyAnalyser
读取的形式预处理数据。
我现在想将两个 tar 文件的输出通过管道传输到MyAnalyser
.
我尝试了以下但输出到达终端。
(tar -x --to-command MySerialiser -f MyData1.tar.xz) && (tar -x --to-command MySerialiser -f MyData2.tar.xz) | MyAnalyser
我可以用 shell 做到这一点吗?还是我需要重新打包我的 tar 文件?