develooper Front page | perl.perl6.users | Postings from June 2018

Re: need sort help

Thread Previous | Thread Next
From:
Brent Laabs
Date:
June 9, 2018 01:59
Subject:
Re: need sort help
Message ID:
CAAPDpBz+1Jic9oJVYn_LKYwz0q6yfY2pU0ndMq6a4o5V_KaHpQ@mail.gmail.com
If possible, you should change the way the files come, or rename them when
you get them, or open an issue to use a proper output log format.

I mean, you can sort like:
@x.sort: {
  my $a = $^a ~~ m:g/\d+/;
  my $b = $^b ~~ m:g/\d+/;
  $a[6].defined cmp $b[6].defined
  ??
  || $a[3] cmp $b[3]
  || $a[1] cmp $b[1]
  || $a[2] cmp $b[2]
  || $a[4] cmp $b[4]
  || $a[5] cmp $b[5]
  || $a[6] cmp $b[6]
  || $a cmp $b
  !! $a cmp $b
};

You could make this more efficient with a Schwartzian transform so you
don't regex at every step.

But seriously, the problem is in the program that produces log files that
are hard to sort.  Why would someone do that?



On Fri, Jun 8, 2018 at 6:50 PM, ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On Fri, Jun 8, 2018 at 5:15 PM, ToddAndMargo <ToddAndMargo@zoho.com
>>> <mailto:ToddAndMargo@zoho.com>> wrote:
>>>
>>>     Hi All,
>>>
>>>     https://docs.perl6.org/routine/sort
>>>     <https://docs.perl6.org/routine/sort>
>>>
>>>     How do I fix this?
>>>
>>>     $ ls | perl6 -e 'my @x=slurp(); say @x.sort'
>>>     (log.06-08-2018_16:07:39.zip
>>>     log.06-08-2018_17:07:39.zip
>>>     log.07-08-2018_06:07:39.zip
>>>     log.07-08-2018_16:07:39.zip
>>>     log.12-08-2016_06:07:39.zip
>>>     )
>>>
>>>
>>>     2016 should be at the top.
>>>
>>>
>>>     Many thanks,
>>>     -T
>>>
>>
> On 06/08/2018 06:23 PM, Brent Laabs wrote:
>
>> Rename all of the input files using ISO 8601 dates.  I can't tell, from
>> looking at those numbers, if the first field is the month or the day, so
>> it's impossible to sort data like that with certainty.
>>
>>
> That is the way the files come.
>
> The convention being used is
>     month, day, year, hour, minute, second
>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About