2017-10-05 12 views
-1

端末で「失敗、失敗、エラー、致命的、欠落」などの特定のキーワードを強調表示する必要があります。端末上の特定の単語を常にすべてのコマンドからハイライト表示する方法

私はすべてのコマンドの出力でこれを必要とし、特定のコマンドは必要ありません。私はこれについて私のbashrcファイルを微調整する必要があると仮定します。私が使用できる色に

<input coming to terminal>|grep -P --color=auto 'fail|failed|error|fatal|missing|$' 

私は、次のコマンドを試みたが、助けない:

tail -f $(tty) |grep -P --color=auto 'fail|failed|error|fatal|missing|$' & 
[1]+ Stopped(SIGTTIN)  tail -f $(tty) | grep -P --color=auto 'fail|failed|error|fatal|missing|$' 

は答えをSO検索が、答えを希望提供する任意の質問を見つけることができませんでした。

答えて

2

シェルを使ってこれを行うには、実際にはエレガントな方法はないと思います。理想的には、この種のキーワードハイライトが組み込まれたターミナルエミュレータが得られるでしょう。bashの出力をANSIカラーエスケープを追加するフィルターを通してパイプすることで、いくつかの方法が得られます。ここで(赤)(ノーマル)は失敗して「失敗」置き換えsedスクリプトが、されています。その出力と

s/fail/\x1B[31m&\x1B[0m/ 
t done 

:done 

実行bashは、このようなsedにパイプ:

$bash | sed -f color.sed 

このメカニズムはないわけではありません問題はありますが、場合によっては機能します。通常は、出力を集めて、bash出力で直接作業するのではなく、sedにパイプするのが良いでしょう。

+0

これは本当に端末エミュレータの仕事です。 – chepner

+0

確かに。だから、私は "理想的には、あなたはターミナルエミュレータを手に入れるだろう..."と書いたのです。 –

+0

うん、本当に正しい答えとして強調したいのです:) – chepner

関連する問題