stdoutを2回使用する(しかし私が知っている限りティーではない)

stdoutを2回使用する(しかし私が知っている限りティーではない)

関連質問があります stdoutを2方向に分岐する方法 しかし、他の反転があります。 (Tシャツについてはすでに知っています!:)

出力をそのまま表示し(ティーからコンソールに?)、さらに改善するためにパイプに接続したいと思います。

例:私は持っています

ps -ef | grep -i something

今、両側ともこの結果を確認し、さらに改善できることを願っています。

| awk '{print "epwdx "$2}'

もちろん、2つのコマンドを順番に実行してすべての結果をキャプチャすることができますが、時にはコマンドを1つの単位で実行して、一貫した現在の真実を伝える可能性を高めたい場合があります。

おそらく他のトリック(例えば、-、2>、&2など)を使用してこれを行う方法があるかもしれませんが、まだ見たことがありません。

ベストアンサー1

出力をパイプの中央から端子にプルするには(または)teeに接続します。/dev/tty/dev/stderr

これにより、出力がsomething端末に印刷され、同じ出力がsomefilter出力ファイルに渡されます。

somecmd | tee /dev/tty | somefilter > output 

ただし、後で出力を表示するには、最終出力と中間出力の両方をファイルに保存してから表示するのが簡単になります。

psただし、表示される一連のプロセスまたは印刷されるフィールドのみをフィルタリングしたい場合は、プログラムにはいくつかの組み込みオプションもあります。より手動プロセス選択、出力書式、書式指定子の場合。

おすすめ記事