15
Использование переменных в программах awk:
$ ps aux |head -n 5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 1.0 86996 11400 ? Ss Mar10 0:55 /lib/..
message+ 60 0.0 0.3 8076 3992 ? Ss Mar10 0:19 /bin/..
root 62 0.0 0.6 13720 7012 ? Ss Mar10 0:09 /lib/..
root 77 0.0 0.2 3236 2196 ? Ss Mar10 0:02 /usr/..
$ ps aux | awk '/^[^U]/ {n++;CPU=CPU+$3; MEM=MEM+$4;}
> END{print "CPU: ",CPU,"%; MEM=",MEM,"%"}'
CPU: 0 %; MEM= 14.8 %
$ ps aux | awk 'BEGIN{N=0; CPU=100.0; MEM=100.0;}
> /^[^U]/ {N++;CPU-=$3; MEM-=$4;}
> END{print "Proc:",N,"; free CPU: ",CPU"%; free MEM:",MEM"%"}'
Proc: 20 ; free CPU: 100%; free MEM: 85.1%