Terminal

從 Mplayer 輸出中 grep 關鍵字並將其餘的發送到文件

  • April 5, 2019

我正在使用 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 的行被寫入終端。或者有沒有更好的方法來做到這一點?

假設您正在使用bash並且“音量”不是出現在 stderr 上的單詞:

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

這結合了來自 mplayer() 的 stdout 和 stderr 2>&1,追加(注意-ato/tmp/server.loggrep’s 所有行的單詞Volume

試試這個。假設bash

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

在這裡,我首先附加stderr到文件並僅從那里傳遞stdouttee並使用 grep。

這消除了 Anthon 的 Volume 不在 stderr 中的假設。

引用自:https://unix.stackexchange.com/questions/132683