[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