bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: New sort(1) feature -- sort by length


From: Ethan Baldridge
Subject: RE: New sort(1) feature -- sort by length
Date: Fri, 17 Jul 2009 14:35:23 -0400

Pádraig Brady wrote:
> Ethan Baldridge wrote:
> > I had a list to sort at work today that needed to be in the format "A B
> > C D E... AA BB CC DD" but sort(1) only returns results as "A AA B BB C
> > CC".
> > 
> >  
> > 
> > So I wrote a patch to add -length-sort as an option. (-l was not taken
> > as a short option so I added that too).
> > 
> >  
> > 
> > Here it is attached as a unified diff. I tested it and it seems to work
> > naturally in conjunction with other operands, so I don't believe there
> > are likely to be problems.

> Thanks for doing that!
> I'm not sure that it belongs in sort though as it's quite specialized.
> Also there is ambiguity in the length of a line.
> I.E. is it bytes, characters or screen cells.

I believe this is somewhat dependent on current locale, as per the current sort 
dynamics (usually characters).

> Also it's quite easy to achieve with existing tools:
> awk '{print length, $0}' <file | sort -n | cut -f2- -d' '

That doesn't help in the case where you only need to sort on a given key in the 
file. A more complicated awk pattern (or a cut beforehand) could handle that as 
well, but it seems worth it to have a trivial flag to sort for that case.

> What might be better would be to add an option
> to `wc` to get it to prepend various counts to a line
> (words, chars, bytes, cells), which then could be
> sorted and stripped as above.

I'd argue on terms of obviousness: "I'm trying to sort these differently... I 
should look at the options for sort!"

> cheers,
> Pádraig.

Thanks,
Ethan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]