カラーラインはありますが、一致するパターンは表示されません

カラーラインはありますが、一致するパターンは表示されません

だから、次のテキストがあります。

2019/06/16 22:36:28 (UNIVERSE) * @{EE3F}Trytrytry sagt: @{F80F}going afk for a bit

たとえば、線全体を赤で染色したいとします。その後、不要な部分を取り除きます。

22:36:28 Trytrytry sagt: going afk for a bit

部品の取り外しはすでに機能しますが、追加すると次のことが行われます。

norm="$(printf '\033[0m')"
boldred="$(printf '\033[0;1;31m')" 
sed -ue s/UNIVERSE/${boldred}&${norm}/g

UNIVERSEにのみ色を付けて表示しますが、表示したくありません。 UNIVERSEのあるライン全体を着色したいです。だから色を追加するだけです。それから私達はこう言うことができます:

IF(UNIVERSE)THEN端子の線を赤で塗りつぶしますが、きれいに保ち、削除した部分を表示しないでください。

どんなアイデアがありますか?

ベストアンサー1

行を次のように変更してくださいsed

sed -ue 's/\(.*UNIVERSE.*\)/'${boldred}'\1'${norm}'/g'

を使用すると、.*UNIVERSE.*その項目を含む行全体を一致させ、括弧を追加して一致UNIVERSE項目\(.*UNIVERSE.*\)(この場合は完全行)をキャプチャし、前の一致項目の逆参照を使用します\1

おすすめ記事