パイプの内容をファイルに出力し、標準出力にファイルの行数を表示します。

パイプの内容をファイルに出力し、標準出力にファイルの行数を表示します。

teeコンテンツをstdoutファイルからファイルに別々にパイプしたいstderr(実際にファイルに追加> >(tee -a $filename))。しかし、ファイルに添付されているものを見るのではなく、本物パイプラインコンテンツに基づく進行状況インジケータ。これまで、各チャンネルの出力に含まれる行数や文字数などです。

注:強調する理由本物以上?私はバックグラウンドでサブシェルを介して回転バトンを取得し、PIDを保存して殺す方法を知っているからです。それは感動的な内容ですが、実際に何が起こっているのかについての兆候はありません。つまり、ヘビ油です。

注:出力ファイルは最初に存在しない可能性があるため、サブシェルを持つソリューションはこれを考慮する必要があります。

ベストアンサー1

my-program > >(pv -trabcN stdout > stdout) 2> >(pv -trabcN stderr > stderr)

次の進行状況を提供します。

  stderr:  123MiB 0:00:03 [42.6MiB/s] [41.1MiB/s]
  stdout:  138MiB 0:00:03 [54.2MiB/s] [46.2MiB/s]

(現在(-r)および平均(-a)速度は比較的新しいものなので、-a使用しているバージョンになければ無視しても構いません。)pv

おすすめ記事