2

unixteeコマンドは、標準入力を stdout とファイルに分割します。

私が必要としているのは、複数の入力を 1 つの出力にマージして、逆に機能するものです。2 つ (またはそれ以上) のコマンドの stdout を連結する必要があります。
このアプリのセマンティクスがどうあるべきかわからない - 各引数が完全なコマンドであると仮定しましょう。

例:

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

コンテンツを含むファイルを生成する必要があります

1
2

私は試した

>  echo 1 && echo 2 > zz.txt

うまくいきません。

補足:各コマンドの出力をファイルに追加するだけでよいことはわかっていますが、これを一度に行いたいです(実際には、マージされた出力を別のプログラムにパイプしたいのです)。
また、私は自分で巻くことができましたが、余裕があるときはいつでも怠惰です:-)

そうそう、それが Windows で動作するならいいと思います (ただし、UnxUtils/msys/etc を介して、bash/Linux 風味のソリューションは動作すると思います)。

4

3 に答える 3

7

試す

( echo 1; echo 2 ) > file.txt

サブシェルを生成し、そこでコマンドを実行します

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

も可能です。これはサブシェルを生成しません (最後のコマンドの後のセミコロンが重要です)

于 2009-02-26T13:31:13.037 に答える
1

あなたが望むのは、両方のコマンドを並行して実行し、両方の出力をマージして別のコマンドにパイプすることだと思います。

私はするだろう:

( echo 1 & echo 2 ) | cat

「echo 1」と「echo 2」は出力を生成するコマンドで、「cat」はマージされた出力を受け取るコマンドです。

于 2015-03-11T09:16:46.820 に答える