Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jul 2019 20:22:07 +0200
From:      Polytropon <freebsd@edvax.de>
To:        "@lbutlr" <kremels@kreme.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: pkg query timestamp format
Message-ID:  <20190713202207.4e7f827e.freebsd@edvax.de>
In-Reply-To: <5343D197-AF3A-490E-AB75-F0624A77A3FE@kreme.com>
References:  <5D28CD7B.40102@webtent.org> <e2771f34-b0fe-5c09-dc8b-b2d549fdacbf@holgerdanske.com> <5343D197-AF3A-490E-AB75-F0624A77A3FE@kreme.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 13 Jul 2019 03:31:17 -0600, @lbutlr wrote:
> 
> 
> > On 12 Jul 2019, at 18:30, David Christensen <dpchrist@holgerdanske.com> wrote:
> > 
> > On 7/12/19 11:12 AM, Robert Fitzpatrick via freebsd-questions wrote:
> >> When I use the following command, I get packages with timestamp installed in epoch Unix time. Is there any way to format that date into month, day and year?
> >> pkg query %n-%t
> > 
> > Here's a Perl one-liner:
> > 
> > 2019-07-12 17:28:52 dpchrist@cvs ~
> > $ pkg query %n-%t | perl -ne '/(.+)-(\d+)$/; ($d,$m,$y)=(localtime $2)[3,4,5];$y+=1900; printf "%-50s %4i-%02i-%02i\n", $1, $y, $m ,$d'
> > bash                                               2019-01-21
> > cvs                                                2019-01-21
> > gettext-runtime                                    2019-01-21
> > <snip>
> 
> I tried to add a | sort -k 2, thinking that would sort the output
> by date, but while it changed the order of the output (no other
> number did), it wasn’t based on the date column. Not sure what
> it was based on.
> 
> I also tried -k 2,4 and -k 2 -k 3
> 
> I assume I am missing something bloody obvious.

In the formatting rule of the perl printf command, put a
delimiter, for example "/": "%-50s/%4i-%02i-%02i\n", then
use "| sort -t '/' +1" or "| sort -g -t '/' +1". ISO dates
are sortable by definition. This should sort by the _2nd_
column with the defined delimiter.

Or, probably much easier, change the printf command to
create output as "<date> <package>" instead of the example
providing "<package> <date>", and just send this to "| sort".



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



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