coreutils
[Top][All Lists]
Advanced

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

Re: who: sorted output + minor usage change


From: Assaf Gordon
Subject: Re: who: sorted output + minor usage change
Date: Mon, 09 Feb 2015 14:52:02 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hello Pádraig,

On 02/09/2015 05:49 AM, Pádraig Brady wrote:
On third thought, perhaps we should tweak the output from who to be more easily 
processed?
It seems like small tweaks could improve things a lot, and would be a more 
general solution.

Agreed.
though I don't know if the output of 'who' is commonly used with automated 
parsing, and thus expected not to change?

The time field can already be sorted with `sort -b -k3,4` (we should remove the 
locale variant)

This could be a bit problematic depending on the options used.
For example, with "-a", I get the following on my system:
====
$ ./src/who -a
          system boot  2015-02-02 17:24
           run-level 2  2015-02-02 17:24
LOGIN      tty4         2015-02-02 17:24              1901 id=4
LOGIN      tty5         2015-02-02 17:24              1905 id=5
LOGIN      tty2         2015-02-02 17:24              1914 id=2
gordon   - tty3         2015-02-06 16:46  old        12643
LOGIN      tty6         2015-02-02 17:24              1919 id=6
gordon   - tty1         2015-02-04 19:53  old         6103
gordon   ? :0           2015-02-02 17:24   ?          4694 (:0)
gordon   + pts/0        2015-02-02 17:28   .          5894 (:0)
gordon   + pts/12       2015-02-02 17:28  old         5894 (:0)
gordon   + pts/16       2015-02-05 10:49 00:04        5894 (:0)
           pts/17       2015-02-04 20:53             24776 id=s/17  term=0 
exit=0
           pts/26       2015-02-06 22:08                 0 id=/26   term=0 
exit=0
           pts/27       2015-02-04 17:03                 0 id=/27   term=0 
exit=0
====
So the third and fourth fields (determined by whitespace) are not always the 
login time.

Also noticed that in POSIX locale, the time string must be "%b %e %H:%M" (in the example 
above, the locale was en_US.UTF-8, and the time string was "%Y-%m-%d %H:%M") - so there's 
another white space in POSIX locale.

But since my original intention was to simply find "logged in users sorted by 
idleness",
I guess using this can be assumed to always work:
   $ LC_ALL=C who -u | sort -b -k6,6

Thanks,
 - Assaf




reply via email to

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