Cedric Blancher wrote: > On 24/05/2009, Roland Mainz <roland.mainz at nrubsig.org> wrote: > > [The following is either a PSARC or OS/Net gatekeeper question - I don't > > know it exactly and therefore both end-up in the CC: field] > > During PIT (=PreIntegration Testing) for ksh93-integration update2 > > (which includes an opensource replacement for /usr/bin/tail and > > /usr/xpg4/bin/tail (note that both are built from the same source) - see > > http://arc.opensolaris.org/caselog/PSARC/2009/249/20090420_roland.mainz.2) > > we hit a bug with "tail -r/+r" and during fixing it we've hit the > > following issue: > > > > SXCE B110 tail(1) manual page defines "tail"'s "-r" option like this: > > -- snip -- > > -r Reverse. Copies lines from the specified starting > > point in the file in reverse order. The default for r > > is to print the entire file in reverse order. > > -- snip -- > > > > PSARC/2009/249 defines it the same way but with a shorter description: > > -- snip -- > > -r, --reverse Output lines in reverse order. > > -- snip -- > > > > Both AFAIK are thought that option "-r" works like "tail -<number> | rev > > -l" ("rev -l" outputs the incoming lines in reverse order). The > > /usr/bin/tail+/usr/xpg4/bin/tail commands in SXCE B110 does this > > correctly when I use something like "-<number>r", for example: > > -- snip -- > > $ print "1\n2\n3\n4\n5\n6" | /usr/xpg4/bin/tail > > -4r > > 6 > > 5 > > 4 > > 3 > > $ print "1\n2\n3\n4\n5\n6" | /usr/xpg4/bin/tail -4 | rev > > -l > > 6 > > 5 > > 4 > > 3 > > -- snip -- > > > > All other combinations for "-<number>" are identical between "tail > > -<number>r" and "tail -<number> | rev -l", too. > > > > > > However this is _not_ true when I use "tail +<number>r" compared to > > "tail +<number> | rev -l". In that case the output differs: > > -- snip -- > > $ print "1\n2\n3\n4\n5\n6" | /usr/xpg4/bin/tail > > +4r > > 6 > > 5 > > 4 > > 3 > > 2 > > $ print "1\n2\n3\n4\n5\n6" | /usr/xpg4/bin/tail +4 | rev > > -l > > 6 > > 5 > > 4 > > -- snip -- > > I agree that this is a bug in SunOS5 tail. OSX, AIX and FreeBSD tail > +4r return identical output as tail +4 reversed. > > As a historical note, AIX uses the same OSF derived sources as SunOS5 > but IBM fixed this bug in 5L years ago.
BTW: I've taked to John Beck (OS/Net tech lead) and he agrees that this is simply a bug in the current implementation - the new AST-based implementation will fix that... ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;)