Re: [Semibug] Need an example of libxo usage

2024-04-15 Thread Mike Wayne
On Sat, Apr 13, 2024 at 08:48:41AM -0700, ad...@bclug.ca wrote:
> Mike Wayne wrote on 2024-04-12 15:55:
>
> I think JSON should do it via `jq`.

Any idea what package jq might be in? Never heard of it.

> printf "%s last login %s from %s\n" $(lastlogin --libxo json | jq -r 
> '.user,.login-time,.from')

> A couple things to watch for: JSON / jq won't like a key with a hyphen, 
> such as login-time.  I'd assume / hope that libxo would do the 
> transformation required for proper JSON.
> 
> 
> Also, IFS might need tweaking as the date containing spaces will get 
> parsed into separate printf string placeholders.
> 
> Or some `sed` transforms.

Sounds like the --libxo option isn't all that functional as it appears to
need additional commands to parse the output rather than just displaying
arguments using command line options.

___
Semibug mailing list
Semibug@lists.nycbug.org
https://lists.nycbug.org:8443/mailman/listinfo/semibug


Re: [Semibug] Need an example of libxo usage

2024-04-12 Thread Mike Wayne
On Fri, Apr 12, 2024 at 01:21:58PM -0700, Ron / BCLUG wrote:
> Mike Wayne wrote on 2024-04-12 12:57:
> 
> > What I can not figure out is how to select fields to print.
> 
> To customize the output fields for the lastlogin command using libxo 
> with XML formatting in FreeBSD, you'll need to use the -f option to 
> specify the fields you want to include. Here's how you can do it:
> 
> lastlogin -f field1,field2,... --libxo xml,pretty

Not too helpful.

   -f specifies the lastlogin FILE to use, not fields
   As mentioned, I'm trying to use --libxo text, not xml

Looking to get lastlogin to print a single line:
   wayne last login: Fri Apr 12 15:06:16 2024 from 192.168.63.146


I'm guessing I need the printf equivalent for libxo but it appears
not to be documented anywhere.

So something like:
   lastlogin --libxo '("%s last login in at %s from %s ", user, login-time, 
from)' wayne


> Replace field1, field2, etc., with the specific fields you want to 
> include in the output. For example, if you want to include fields like 
> username, terminal, and login time, you would specify something like this:
> 
> lastlogin -f username,terminal,login_time --libxo xml,pretty
> 
> 
> This command will generate XML output with the specified fields in a 
> pretty format. Adjust the field names as per your requirements.

___
Semibug mailing list
Semibug@lists.nycbug.org
https://lists.nycbug.org:8443/mailman/listinfo/semibug


[Semibug] Need an example of libxo usage

2024-04-12 Thread Mike Wayne
Trying to correct some of the stupid that FreeBSD 13 did, I'm failing
to get libxo to work.

I ran lastlogin with the xml option to get the keys:
   % lastlogin --libxo xml,pretty wayne
   
 
   wayne
   pts/1
   192.168.63.146
   Fri Apr 12 15:06:16 2024
 
   

What I can not figure out is how to select fields to print. Based
on what I can find, it looks like something like this should work:
   lastlogin --libxo '("%s last logged in from %s at %s", user, from, 
login-time)' wayne
but it fails. I've tried tweaking quotes, backslashes, etc. with no luck.

Google can not find single example of libxo usage anywhere that
illustrates the corect way to specify key selection when using
the --libxo option with a command.

Can I get one?

___
Semibug mailing list
Semibug@lists.nycbug.org
https://lists.nycbug.org:8443/mailman/listinfo/semibug