Tmux is a very helpful terminal multiplexer, meaning it can split your terminal into multiple panes. So, create two side by side panes, then one way of doing it is:
- on the left, run
your cmd | tee >(grep 'denied' > error.log)
- on the right, run
tail -f error.log
The tee
process takes it's standard in, and writes itbto both standard out, so you see all the lines, and the path it's been given. The >(...)
operator runs the grep in a subprocess, and returns the path to it's standard input pipe, so grep
receives every line, and writes the denied lines to a log file which you display with tail
in the other pane.
Rather than using a file for error.log you could also use a named pipe in much the same way.