parsing the output of the 'w' command?
        Posted  
        
            by 
                Blackbinary
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Blackbinary
        
        
        
        Published on 2011-03-06T15:24:36Z
        Indexed on 
            2011/03/06
            16:10 UTC
        
        
        Read the original article
        Hit count: 321
        
I'm writing a program which requires knowledge of the current load on the system, and the activity of any users (it's a load balancer).
This is a university assignment, and I am required to use the w command. I'm having a hard time parsing this command because it is very verbose. Any suggestions on what I can do would be appreciated. This is a small part of the program, and I am free to use whatever method i like.
The most condensed version of w which still has the information I require is `w -u -s -f' which produces this:
 10:13:43 up  9:57,  2 users,  load average: 0.00, 0.00, 0.00
 USER     TTY         IDLE WHAT
 fsm      tty7      22:44m x-session-manager
 fsm      pts/0      0.00s w -u -s -f
So out of that, I am interested in the first number after load average and the smallest idle time (so i will need to parse them all).
My background process will call w, so the fact that w is the lowest idle time will not matter (all i will see is the tty time).
Do you have any ideas?
Thanks
(I am allowed to use alternative unix commands, like grep, if that helps).
© Stack Overflow or respective owner