Wie kann man in egrep eine ganze Zeile hervorheben, wenn ein Wort innerhalb der Zeile übereinstimmt?

Wie kann man in egrep eine ganze Zeile hervorheben, wenn ein Wort innerhalb der Zeile übereinstimmt?

Derzeit verwende ich

egrep --color 'error|$'

um jedes Wort in einer Zeile hervorzuheben, das das Wort „Fehler“ enthält:

Bildbeschreibung hier eingeben

Ich möchte jedoch die gesamte Zeile hervorheben, sodass die gesamte Zeichenfolge rot angezeigt wird.

Wie kann ich das erreichen?

Antwort1

Um die komplette Zeile hervorzuheben, sollten Sie den regulären Ausdruck so erweitern, dass er alle Zeichen vor und nach dem gesuchten Begriff enthält (sofern vorhanden). Dies erreichen Sie, indem Sie .*dem gesuchten Begriff ein Zeichen voranstellen und anfügen:

echo "foo bar error baz" | egrep --color '.*error.*|$'

verwandte Informationen