1

パラメータとして指定されたファイルに書き込むクローズドプログラム(つまり、Intersystems'csession'Cachédbターミナル)があります。それは数回そうします、そしてそれから戻ります。毎回、指定されたファイルが上書きされるので、最後に、最後の結果しか得られません...

私は、特別な疑似ファイルをだましてパラメータとして与えることができるかもしれないという考えを持っていました。それはプロキシとして機能し、それに書き込まれたものを別のファイルに追加します。

create proxyfile as >> realfile
cat "Hello" > proxyfile
cat "Bye" > proxyfile
cat realfile
Hello
Bye

誰かがこれが実行可能であると思いますか、おそらく小さなユーティリティを使用しますか?

4

2 に答える 2

4

この目的のためにFIFOファイル(名前付きパイプ)を使用できます。それらがどのように機能するかを確認するには、2つのターミナルウィンドウを開きます。1つでは、

cd /tmp
mkfifo pipe
tail -f pipe

と他の

cd /tmp
echo "Hello" > pipe
echo "Bye" > pipe

実際の問題については、アプリケーションにFIFOへの書き込みを許可tail -f pipe > outputfileし、バックグラウンドで使用して結果をに収集しますoutputfile

于 2012-11-26T14:48:39.050 に答える
1

出力ファイルとして使用/dev/stdoutし、それをcatにパイプして、標準出力をファイルに追加できます。>>

csession /dev/stdout | cat >>realfile

これは上書きされませんが、既存のファイルに追加されます。

于 2012-11-26T14:48:59.027 に答える