bsdgrep does not work with tail -f | grep combination

pluknet pluknet at gmail.com
Wed Aug 4 17:45:49 UTC 2010


On 4 August 2010 20:28, Lars Engels <lars.engels at 0x20.net> wrote:
> On Wed, Aug 04, 2010 at 10:51:08AM -0400, Alexandre Sunny Kovalenko wrote:
>> On Tue, 2010-08-03 at 20:21 +0200, Gabor Kovesdan wrote:
>> > Em 2010.08.03. 19:25, poyopoyo at puripuri.plala.or.jp escreveu:
>> > > Hi,
>> > >
>> > > It seems bsdgrep does not work when piped from tail -f.
>> > > I'm running r210728.
>> > >
>> > > term0$ jot 10>  /tmp/1
>> > > term0$ tail -f /tmp/1 | grep 0
>> > > [no output]
>> > >
>> > > otherterm$ jot 10>>  /tmp/1
>> > > [no output to term0]
>> > >
>> > > =====
>> > >
>> > > with GNU grep:
>> > >
>> > > term0$ tail -f /tmp/1 | gnugrep 0
>> > > 10
>> > > otherterm$ jot 10>>  /tmp/1
>> > > [on term0]
>> > > 10
>> > > 10
>> > >
>> > I've checked on 8.0 and GNU grep doesn't output anything either for me.
>> > If you use tail -f, you will enter more lines and end it with EOF, won't
>> > you? And then BSD grep will process the input and print out matches. I
>> > don't think it's bad behaviour in itself but if you can explain why you
>> > think it's bad I'm willing to change it.
>> >
>> I am not sure it is specific to the GNU grep -- below is the example
>> from AIX 5.3:
>
> [...]
>
> Same on Solaris, so this is not a GNU feature.
>

By the way, egrep from 4.4BSD-Alpha used read(2) with 8k blocks.
I justed checked, it works with tail -f.

-- 
wbr,
pluknet


More information about the freebsd-current mailing list