Skip Navigation

Posts
3
Comments
65
Joined
3 yr. ago

  • This is the case for me as well. I tried NixOS this weekend, and even though it has more adoption than Guix, it still does not have 100% coverage of all software I wanted. That said, the packages I did install were pretty up-to-date. I guess NixOS is as close to "critical mass" as we've got when it comes to this type of OS. But if I were a wizard devops type person with more time, I'd probably enjoy Guix more.

  • Given encouragement to try tmux, here is what I've come up with as a "one-liner" (script) that does what I was originally looking for:

     
        
    #!/bin/sh
    
    tmux new-session -d -s split_screen_grep \; \
      send-keys "/bin/sh -c '$1' | tee /tmp/split_screen_grep.txt" C-m \; \
      split-window -h \; \
      select-pane -t 1 \; \
      send-keys "tail -f /tmp/split_screen_grep.txt | grep '$2'" C-m \;
    
    tmux attach-session -t split_screen_grep
    
      

    I use it as follows, first arg is a command, second arg is a pattern to search for:

     
        
    $ ./split-grep "cat big_file.txt" "tmux"
    
      
  • Thanks! I'm curious if there is a way to do this as a one-liner?

  • Elegant and flexible, thank you!

  • 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.