I want to run a command and see all of its output on the left hand side, while simultaneously searching/grepping for particular lines on the right hand side. In other words, I want a temporary vertically split screen in my CLI, ideally with scrollback on each side of the split, but where I expect the left hand side to be scrolling thousands of lines quickly, while on the right hand side is a slow accumulation of “matches” to my grep.

Is this possible today? What tools would you recommend to accomplish this?

EDIT: To be clear, a one-liner is preferable over learning tmux or screen, although this does motivate me to perhaps begin learning tmux.

In case this is an X/Y problem: The specific command I’m trying to run is an rsync simulation (dry-run) where I want to both check that the command works, and subsequently check that there are no denied errors. The recommended way to do this is to run the command twice, as follows (but I want to combine it into one pass):

# first specify the "-n" parameter so rsync will simulate its operation. You should use this before you start:
rsync -naP --exclude-from=rsync-homedir-local.txt /home/$USER/ $BACKUPDIR/

# check for permission denied errors in your homedir:
rsync -naP --exclude-from=rsync-homedir-local.txt /home/$USER/ $BACKUPDIR/ | grep denied
  • Tekhne
    link
    fedilink
    3
    edit-2
    11 months ago

    less can enter a grep-like mode by hitting /

    Edit: it’s & for the grep mode, / is search.

    • @[email protected]
      link
      fedilink
      211 months ago

      More info: / only searches from cursor to end of file. ? searches from cursor to start of file.

      • Tekhne
        link
        fedilink
        311 months ago

        Oops yeah I just edited my comment, put the wrong symbol!

    • Atemu
      link
      fedilink
      1
      edit-2
      11 months ago

      That’s not at all grep-like. Grep is a line filter, not a character sequence highlighter.