2

unixtee命令将标准输入拆分为标准输出和一个文件。

我需要的是另一种工作方式,将多个输入合并到一个输出 - 我需要连接两个(或更多)命令的标准输出。
不确定这个应用程序的语义应该是什么——让我们假设每个参数都是一个完整的命令。

例子:

>  eet "echo 1" "echo 2" > file.txt

应该生成一个包含内容的文件

1
2

我试过

>  echo 1 && echo 2 > zz.txt

它不起作用。

旁注:我知道我可以将每个命令的输出附加到文件中,但我想一次性完成(实际上,我想将合并的输出通过管道传输到另一个程序)。
另外,我可以自己动手,但是只要我负担得起,我就很懒惰:-)

哦,是的,如果它在 Windows 中工作会很好(尽管我猜任何 bash/linux 风格的解决方案都可以通过 UnxUtils/msys/etc 工作)

4

3 回答 3

7

尝试

( echo 1; echo 2 ) > file.txt

生成一个子shell并在那里执行命令

{ echo 1; echo 2; } > file.txt

也是可能的。这不会产生子shell(最后一个命令后的分号很重要)

于 2009-02-26T13:31:13.037 回答
1

我猜你想要的是并行运行这两个命令,并将两个输出合并到另一个命令。

我会做:

( echo 1 & echo 2 ) | cat

其中“echo 1”和“echo 2”是生成输出的命令,“cat”是接收合并输出的命令。

于 2015-03-11T09:16:46.820 回答
-1

echo 1 > zz.txt && echo 2 >> zz.txt

那应该行得通。您真正要做的就是依次运行两个命令,其中第一个重定向到一个文件,然后,如果成功,您运行另一个命令,将其输出附加到您首先编写的文件的末尾.

于 2009-02-26T13:34:24.387 回答