less tail mode + pipes?

2

1

Why doesn't less's tail/scroll mode work with pipes?

For example, I'd like to make a build script pipe to less in order to make the output of the build script scrollable. So...

make | less +F

...or...

echo "make | less +F" | sudo sh

...would conceptually do what I want, but I get a blank screen. As soon as I exit scroll mode, I see as much of the script's output as was printed to the console at the time I exited scroll mode and less stops updating from that point forward. Typing F in less again has no effect.

Christopher Parker

Posted 2010-09-09T23:58:28.323

Reputation: 255

Answers

2

I had a similar question a while ago:

Use `less` pager on file with non-standard encoding

less +F does not work on pipes at all (only on regular files), due to the way it's implemented (see my own answer to the question above).

The only workaround apparently is to redirect the script's output into a temp file (using >). Then you can use less +F on the temp file.

sleske

Posted 2010-09-09T23:58:28.323

Reputation: 19 887

1-F is "quit if one screen" - you mean +F – Paused until further notice. – 2010-09-10T00:57:06.707

Excellent! Exactly the answer I was looking for! Thank you! – Christopher Parker – 2010-09-10T12:30:48.350