5

I asked the question How to use cat or less depending on the line count? with the intention of browsing many files without having to scroll up too far to view my history after displaying a long file, while keeping short files' contents directly visible.

However, it would be even more convenient to simply use half the screen for "usual" bash output and the other half (right or top, probably a matter of taste) for cat output. Is there a nice way (maybe some screen-magic) to achieve this? I.e. have a splitscreen terminal, where a simple pipe relocates output to the other half, and maybe some second pair of hotkeys to separately scroll through that half's buffer?

My first impulse would be using mkfifo for the pipe, but maybe there's an easier way or someone actually already wrote a tool for this...

Tobias Kienzler
  • 9,184
  • 13
  • 65
  • 106
  • 1
    I use tmux and if i do - :pipe-page -o "cat >> /tmp/foo" i can see all content of the "windows" in the file. So if i split tmux and i would to tail -f /tmp/foo i would see the output of a "window" redirected to pipe. – jirib Jun 22 '12 at 13:03
  • 2
    Not an exact duplicate, but probably does what you want: [Linux - How to split the terminal into more than one "view"?](http://unix.stackexchange.com/q/7453) – Gilles 'SO- stop being evil' Jun 23 '12 at 00:46

1 Answers1

4

You can redirect cat output without any fifo and pipes to:

  1. /dev/pts/NUM where NUM is number of your logged in pts. it may not be usefull in screen splitting)
  2. /proc/PID/fd/0 (where PID is PID of your shell process in terminal, where output should appear).
rush
  • 27,055
  • 7
  • 87
  • 112