Mplayer出力からキーワードをgrepし、残りをファイルに送信します。

Mplayer出力からキーワードをgrepし、残りをファイルに送信します。

私はmplayerを使用しています。すべてをログファイル(/tmp/server.log)に送信したいのですが、ボリューム出力を端末に記録したいと思います。 teeで出力を分割する方法があるのを見ましたが、うまく動作しないようです。これが私が今まで持っているものです:

$mplayer /path/to/song.wav 1>tee /tmp/server.log | grep Volume  2> /tmp/server.log

すべてのstdoutとstderrをログファイルに移動したいが、stdoutのVolume行だけが端末に書き込まれます。それとももっと良い方法がありますか?

ベストアンサー1

使用中で、bash「Volume」がstderrに表示される単語ではないとします。

 $ mplayer /path/to/song.wav 2>&1 | tee -a /tmp/server.log | grep -F Volume

これは、mplayer()のstdoutとstderrを組み合わせて追加します(すべての行の2>&1単語を参照してください)。-a/tmp/server.loggrepVolume

おすすめ記事