this post was submitted on 01 Jan 2024
57 points (98.3% liked)

Linux

48220 readers
642 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 10 months ago (3 children)

ChatGPT suggests the following:

  1. Run tmux
  2. rsync -naP --exclude-from=rsync-homedir-local.txt /home/$USER/ $BACKUPDIR/ | tee /tmp/rsync_output.txt
  3. Ctrl+B % # splits screen vertically
  4. Ctrl+B right-arrow-key # moves to right split
  5. tail -f /tmp/rsync_output.txt | grep denied

Not quite a one-liner, but I can see how tmux is a big help here.

[–] [email protected] 7 points 10 months ago

I know this isn't an answer you're looking for, but I'll at least say that I find tmux to be infinitely useful and highly recommend checking it out

load more comments (2 replies)