Hello,

Le ven. 27 mai 2022 à 20:45, Greg Reagle <l...@speedpost.net> a écrit :
>
> I have a file named "out" (from ii) that I want to view.  Of course, it can 
> grow while I am viewing it.  I can view it with "tail -f out" or "less +F 
> out", both of which work.  I also want to apply some processing in a 
> pipeline, something like "tail -f out | tr a A | less" but that does not 
> work.  The less command ignores my keystrokes (unless I hit Ctrl-C, but that 
> kills tail and tr).  The "tr a A" command is arbitrary; you can substitute 
> whatever processing you want, even just cat.
>
> This command "tail -f out | tr a A" is functional and has no bugs, but it 
> doesn't let me use the power of less, which I crave.
>
> This command "tail out | tr a A | less" is functional and has no bugs, but it 
> doesn't let me see newly appended lines.
>
> Can I use the power of the Unix pipeline to do text processing and the power 
> of less for excellent paging and still be able to see new lines as they are 
> appended?  Why doesn't or can't less continue to monitor stdin from the 
> pipeline and respond to my keystrokes from the tty?
>
> I am using Debian 11 in case it matters, with fish.  But I am happy to try 
> other shells.  In fact I already have and that doesn't seem to help.  I have 
> also tried more, most, nano -, and vi -, instead of less, to no avail.
>

The simplest solution to avoid the side effect of killing tail and tr
when using ^C to quit "follow mode" in less is to redirect the output
of tr to another file, and use less +F to open that file. Like so:
tail -f out | tr a A >out2 & less +F out2

Some other solutions: https://unix.stackexchange.com/a/659175

Best,

AN

Reply via email to