Hi,
I would like to display the new lines of /var/log/messages that contain either IN_MyText or OUT_MyText (no matter where in the line)
I’ve tried
tail -fn 3 /var/log/messages | grep --color --line-buffered -e "(IN|OUT)_MyText"
But the output stay blank, when it should not…
Any ideas ?
grep by default uses Basic Regular Expressions. This means the
(and)lose their special meaning and are matched literally. Either use a backslash version\(to have a group, or use Extended Regular Expressions with-E "(IN|OUT)". Inman grepunder REGULAR EXPRESSIONS are some differences noted.Thank you ! @thingsiplay@beehaw.org 👍
-Esolved it :)
It’s marked solved, but since OP didn’t post the solution:
-euses basic regular expressions, where you need to escape the meta-characters ((|)) with a backslash. Alternatively, use extended regex with-E$ echo a | grep -E "(a|b)" a $ echo a | grep -e "\(a\|b\)" a $ echo a | grep -e "(a|b)" $ echo a | grep -E "\(a\|b\)"Do you get output if you use that exact
tailcommand without thegreppipe?Yes




