Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Mar 2012 15:50:08 -0700
From:      Oleg Moskalenko <oleg.moskalenko@citrix.com>
To:        'Lowell Gilbert' <freebsd-ports-local@be-well.ilk.org>, "freebsd-ports@freebsd.org" <freebsd-ports@freebsd.org>
Cc:        Chris Rees <crees@freebsd.org>, Gabor Kovesdan <gabor@freebsd.org>
Subject:   RE: CFT: new BSD-licensed sort available
Message-ID:  <031222CBCF33214AB2EB4ABA279428A30107B5E9D2AB@SJCPMAILBOX01.citrite.net>
In-Reply-To: <4462e46ul7.fsf@lowell-desk.lan>
References:  <4F60C059.7060904@FreeBSD.org> <44pqcd8yhd.fsf@lowell-desk.lan> <CADLo83_r3SgYj6apifN6NTCwZ-ApYbLkyMOS5zcCmTFst_Vcow@mail.gmail.com> <4462e46ul7.fsf@lowell-desk.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
Yes, indeed, there was an old sort syntax, where they supported it in a for=
m "+POS1 -POS2". It is a non-POSIX obsolete syntax, so we did not implement=
 it in the new BSD sort. I can add it, if necessary.

Regards,
Oleg

-----Original Message-----
From: Lowell Gilbert [mailto:freebsd-ports-local@be-well.ilk.org]=20
Sent: Friday, March 16, 2012 3:37 PM
To: freebsd-ports@freebsd.org
Cc: Chris Rees; Gabor Kovesdan; Oleg Moskalenko
Subject: Re: CFT: new BSD-licensed sort available

Chris Rees <crees@freebsd.org> writes:

> On 15 March 2012 19:18, Lowell Gilbert
> <freebsd-ports-local@be-well.ilk.org> wrote:
>> Gabor Kovesdan <gabor@FreeBSD.org> writes:
>>
>>> some time ago I started writing a BSDL sort variant from scratch since
>>> the OpenBSD version did not support multibyte locales and was hard to
>>> modify. The development was a bit stalled but recently, Oleg
>>> Moskalenko <oleg.moskalenko@citrix.com> showed interest in continuing
>>> this version and he has made a very good job on this BSD sort
>>> variant. Now it is compatible with the base version of GNU sort but
>>> the performance in most cases (string sort and -n) is quite behind GNU
>>> sort (although with -g it is about *4 times* faster). Oleg is still
>>> working on optimizing the code and the long-term plan is to drop GNU
>>> sort once this variant is good enough to replace it. For now, it is
>>> only available in Ports Collection as textproc/bsdsort but if there is
>>> no objection or any serious bug report I plan to add it to base
>>> installed as bsdsort, being GNU sort still the default sort until it
>>> proves that we can safely drop GNU sort. If you are interested in this
>>> sort utility, could you please try the port and report us any issue
>>> that you experience?
>>
>> portsdb(1) (from portupgrade) doesn't seem to like it;
>> apparently it is missing a '-2' option, which I haven't
>> tracked down yet...
>
> Fails with gnusort too anyway:
>
> [crees@pegasus]~% gsort -2
> gsort: invalid option -- '2'
> Try `gsort --help' for more information.
> [crees@pegasus]~%

As it turns out, this *is* something that Gnu sort supports, although
the documentation claims that the syntax is obsolete -- and doesn't
document it very well.

    [5022] (lowell-desk) ~> printf "fee\nfie\nfoe\nfum\nfoo\nbaz" |gsort -t=
 'a' +1 -2
    fee
    fie
    foe
    foo
    fum
    baz
    [5022] (lowell-desk) ~>=20

It wouldn't be bad if BSD sort supported it, but it should definitely be
fixed in the ports Makefile. I have submitted the fix in a PR:
http://www.freebsd.org/cgi/query-pr.cgi?pr=3D166188

Personally, I'd don't see any reason for bsdsort to include this
functionality...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?031222CBCF33214AB2EB4ABA279428A30107B5E9D2AB>