問題タブ [tee]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2027 参照

java - Windows バッチまたは Java で Tee を作成することは可能ですか?

Windows 7 コンソールで実行する Java プログラムがあります。

このプログラムは非常に長時間実行されます。System.out.println を使用して、随時コンソールに出力を書き込みます。

既存の Java コードを変更せずに、その出力をコンソールとログ ファイルの両方にリアルタイムで送信することは可能ですか?

Windows 7 でそれができない場合、Java で Tee ユーティリティを作成することは可能ですか?

Windows 8 で解決しましたか?

0 投票する
1 に答える
3318 参照

bash - バッシュ、名前付きパイプのティー?

次のコード:

次のように実行すると、出力は生成されません。

なぜ?!teestdinを名前付きパイプ(および/dev/nullcatにコピーしてから、名前付きパイプの内容をstdoutにコピーすることを期待します。なぜ動かないの?!

私はもっ​​と大きなbashスクリプトを書き込もうとしていますが、。teeの代わりに何か他のものを使用して、そこに本当に必要です/dev/null。予期しない動作を上記の例に絞り込みました。

0 投票する
1 に答える
1175 参照

bash - stdout と stderr の両方をファイルとコンソールにキャプチャする

コンソールにステータスを吐き出し、そのログファイルを作成するスクリプトを作成しようとしています。そのために、bash スクリプトで次の行を使用しています。

この行を使用すると、標準出力がコンソールに効果的に表示され、それが logfile.txt に保存されます。ここで、stdout と stderr の両方をキャプチャしたいと考えています。使ってみた

これはうまくいかないようです。なんで?どうすれば自分の仕事を達成できますか?

0 投票する
2 に答える
3359 参照

unix - ティーを使用してすべての出力を標準出力に送信し、grep された出力をファイルに送信するにはどうすればよいですか?

次のように、tee を使用して stdout とファイルの両方に出力を送信できます。

完全な出力を stdout に送信し、grep された出力をファイルに送信するにはどうすればよいですか?

tee は 2 番目のファイル引数を想定しているため、これは機能しません。

0 投票する
1 に答える
1233 参照

bash - 同じ bash スクリプト内から stdout の COPY を別のログ ファイルに複数回リダイレクトする

次の行は、標準出力をファイルにリダイレクトし、標準出力にも出力したい場合にうまく機能します。

ただし、後で stdout を別のファイルにリダイレクトしたい場合は、次のようにします。

直面する問題は、出力が 2 番目のファイル (logfile-2.txt) と共に最初のファイル (logfile-1.txt) にリダイレクトされ続けることです。

同じbashスクリプトに両方のステートメントが含まれ、出力がこれらのコマンドの実行順序に対応する各ファイルに排他的である方法はありますか?

注: この質問は、ここで尋ねられた質問の解決策の延長にあります。

0 投票する
2 に答える
668 参照

perl - この bash スクリプトはどのようにして無限ループを引き起こしますか?

いくつかのグーグル(私は決してbashの専門家ではありません)から、テストスイートを実行し、実行中に下部にステータスバーを出力できるbashスクリプトをまとめることができました。通常、約 10 時間かかります。ステータス バーには、成功したテストの数と失敗したテストの数が表示されます。

うまく機能することもありますが、無限ループに陥ることもあります。私が使用しているコードは次のとおりです。

バグに遭遇すると、エラー メッセージが無限に繰り返され、ログ ファイル ( out.txt) が数メガバイトの巨大なものになります (一度 GB に入ったと思います)。繰り返されるエラーの例を次に示します (各セットの間に 4 行の空白があります)。

2>&1リダイレクトを取り出そうとしましたが、に変更しようとしましたwhile IFS=read -r line;while read -r line;、無限ループが発生し続けます。奇妙なことに、これはほとんどの場合に発生するようですが、長いテスト スイートを問題なく終了することもありました。

編集

私がこれを書いている理由は、白黒のテスト スイートから色分けされたテスト スイート (したがって ANSI コード) にアップグレードするためです。以前は、次を使用してテスト スイートを実行していました。

この方法で実行すると、Perl から同じ警告が表示されますが、無限ループに陥ることなく、ファイルに出力されて先に進みます。watch を使用すると、[32m実際にテキストを緑色でレンダリングするのではなく、次のようなものも印刷されます。

0 投票する
2 に答える
579 参照

r - Rで出力デバイスをネストしますか?

一度に複数の出力デバイスにグラフをプロットすることは可能ですか? 私は試した:

XY プロットは にのみ入りlevel3.pngます。(3つのファイルすべてに入る必要があります)

不思議なことに、AB プロットは level2.pdf に入ります。

0 投票する
2 に答える
451 参照

bash - stdout を TTY として保持しながら、bash スクリプト内のログにティー

stdout の COPY を bash スクリプト自体からログ ファイルにリダイレクトするのと同様ですが、stdout を TTY デバイスとして保持したいと思います。

たとえば、次のスクリプトがあります。

それらを実行すると、ラッパーは stdout を TTY デバイスとして使用します。

ラッパーを介して実行された場合でも、スクリプトが TTY にあると信じられるように、その動作を反転するにはどうすればよいですか?

0 投票する
2 に答える
2536 参照

bash - Bash 読み取りライン バッファ オーバーフロー

ファイルから行を読み取り、それらの行でいくつかのロジックを実行する bash スクリプトがあります。

そう

while ループの本体では、1 つのコマンドの出力を にパイプしていますtee。この出力が非常に大きい場合 (100K 程度)、read line の次の呼び出しが失敗し、ファイル内のすべての行が読み取られる前に while ループが終了します。

なぜこれが起こるのですか?私は bash の専門家ではありませんが、何らかのバッファ オーバーフローが発生しているようです。もしそうなら、どうすればこれを修正できますか?

ありがとう

編集:したがって、いくつかの明確化が必要です。$1 は、ファイル名に対応する bash スクリプトに与えられる最初のコマンド ライン引数です。私が正確に行っているのは、入力ファイルの各行をパラメーターとして別のプログラムに渡すことです。そのプログラムの stdout と stderr を| tee -a somefile

私が入力しているプログラムは非標準です。私が読んでいるファイルの行によっては、このプログラムの出力が非常に大きくなる可能性があります。

だから私がやっていることのより詳細な例は

ありがとう、

-D

0 投票する
2 に答える
8444 参照

bash - 複数のファイルにパイプしますが、stdout にはパイプしません

stdout を複数のファイルにパイプしたいのですが、stdout 自体は静かにしておきます。tee近いですが、ファイルと標準出力の両方に出力されます

これは機能しますが、可能であればもっと単純なものを好むでしょう