Mpvメディアプレーヤーの出力をフィルターして特定の行を削除しようとしていますが、その場合、キーボードでmpvを制御できません。コマンドは次のとおりです。
mpv FILE | grep -v 'Error while decoding frame'
コマンドを実行すると、すべてが正しく表示されますが、LEFTおよびRIGHTキーを使用してファイルをスキャンしたり、キーボードで他のことを実行したりできません。プログラムの制御を保持しながら、プログラムの出力をどのようにフィルタリングしますか?
たとえば、script(1)プログラムを使用して、mpvに偽のターミナルを与えることができます。
script -c 'mpv FILE' /dev/null | grep -v 'Error while decoding frame'
Mac OS Xの場合、 構文は次のようです :
script /dev/null mpv 'FILE' | grep -v 'Error while decoding frame'
[編集:チェックアウト アプリケーションをだまして、その標準入力がインタラクティブであると思わせる 追加の解決策について]
Nohup mpv FILE
を使用できます。出力はNohup.out
に書き込まれ、tail
およびgrep
を使用してフィルターできます。
Nohup mpv FILE
tail -f Nohup.out |grep -v 'Error while decoding frame'