From owner-freebsd-questions@freebsd.org Sat Jul 13 20:39:57 2019 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0072815CA926 for ; Sat, 13 Jul 2019 20:39:56 +0000 (UTC) (envelope-from dpchrist@holgerdanske.com) Received: from holgerdanske.com (holgerdanske.com [184.105.128.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "holgerdanske.com", Issuer "holgerdanske.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B1BDA6D08A for ; Sat, 13 Jul 2019 20:39:55 +0000 (UTC) (envelope-from dpchrist@holgerdanske.com) Received: from 99.100.19.101 ([99.100.19.101]) by holgerdanske.com with ESMTPSA (ECDHE-RSA-AES128-GCM-SHA256:TLSv1.2:Kx=ECDH:Au=RSA:Enc=AESGCM(128):Mac=AEAD) (SMTP-AUTH username dpchrist@holgerdanske.com, mechanism PLAIN) for ; Sat, 13 Jul 2019 13:39:50 -0700 Subject: Re: pkg query timestamp format To: freebsd-questions@freebsd.org References: <5D28CD7B.40102@webtent.org> <5343D197-AF3A-490E-AB75-F0624A77A3FE@kreme.com> From: David Christensen Message-ID: <960ddbaa-7a6a-c387-0e63-6f247e6dbf10@holgerdanske.com> Date: Sat, 13 Jul 2019 13:39:49 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <5343D197-AF3A-490E-AB75-F0624A77A3FE@kreme.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B1BDA6D08A X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-1.22 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-0.95)[-0.949,0]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; IP_SCORE(-0.44)[ipnet: 184.104.0.0/15(0.98), asn: 6939(-3.11), country: US(-0.06)]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-questions@freebsd.org]; TO_DN_NONE(0.00)[]; AUTH_NA(1.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-0.99)[-0.988,0]; DMARC_NA(0.00)[holgerdanske.com]; NEURAL_SPAM_SHORT(0.27)[0.266,0]; MX_GOOD(-0.01)[holgerdanske.com]; RCVD_IN_DNSWL_NONE(0.00)[27.128.105.184.list.dnswl.org : 127.0.10.0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6939, ipnet:184.104.0.0/15, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Jul 2019 20:39:57 -0000 On 7/13/19 2:31 AM, @lbutlr wrote: > > >> On 12 Jul 2019, at 18:30, David Christensen 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 >> > > 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. There is no need for a pipeline and sort(1): 2019-07-13 13:16:07 dpchrist@cvs ~ $ pkg query %n-%t | perl -e 'while(<>){/(.+)-(\d+)$/;($d,$m,$y)=(localtime $2)[3,4,5];$h{sprintf "%-50s",$1}=sprintf "%4i-%02i-%02i",$y+1900,$m,$d} print map {$_,$h{$_},"\n"} sort {"$h{$a} $a" cmp "$h{$b} $b"} keys %h' bash 2019-01-21 cvs 2019-01-21 gettext-runtime 2019-01-21 p5-UNIVERSAL-require 2019-03-19 rename 2019-04-09 pkg 2019-06-12 David