小さな何かが欠けているかもしれませんが、POSIX (ダッシュ) 準拠の方法でこの構文を実現することは可能ですか?
$ ./myApp 2> stderr.txt 1> stdout.txt
ダッシュでは使用できないことはわかっていますが、使用する必要があります>&
が、2>&1
これはしたくありません。stdout に大量のデータが送られてきますが、それを解析して stderr を取得したくありません。非常に単純なものが欠けているように感じますが、指を置くことはできません...
現在、上記のコマンドを実行すると、標準出力 (3) が数行しか表示されませんが、標準エラー出力ファイルには表示され、標準出力は空です。また、グループ化のさまざまな方法を試しましたが、それでもうまくいきませんでした。何が起こっているのかわからない...
アップデート
これは、私が達成しようとしていることの完全な効果を見ることができるように、私が実行している実際のコマンドの形式です:
$ LD_PRELOAD=/usr/lib/libtcmalloc.so /usr/bin/time -p myApp -c -f inputFile 2> stderr 1> stdout
これは、() を使用してグループ化の複数のバリエーションを試したことを述べた場所です。また、実行可能ファイルmyApp
はフォークしません。
このコマンドは機能すると思いましたが、そうではないことがわかりました。
$ LD_PRELOAD=/usr/lib/libtcmalloc.so /usr/bin/time -p (myApp -c -f inputFile) 2> stderr 1> stdout