我正在使用此命令检查所有sshd进程以及sshd deamon的CPU USAGE和CMD:
ps -C sshd -o %cpu,cmd
输出示例:
%CPU CMD
0.0 sshd: root [priv]
0.0 sshd: aadmin@pts/1
之后我用过:
ps -C sshd -o %cpu,cmd | awk '!/%CPU/ {print $1, $3}'
输出:
0.0 root
0.0 aadmin@pts/1
要对CPU USAGE和第三行进行排序,我想要的是分配awk
输出var以便为多个进程和单独的行分配这样的输出。
CPU_USAGE=0.0 USER=root
CPU_USAGE=0.0 USER=aadmin@pts/1
我尝试使用awk -v
将变量分配给awk,但没有成功
答案 0 :(得分:3)
ps -C sshd -o %cpu,cmd | awk '!/%CPU/ {printf("CPU_USAGE=%s USER=%s\n", $1, $3)}'
您只需要格式化print
声明,为此,请使用printf
。
或更短:
ps -C sshd -o %cpu,cmd | awk '!/%CPU/ {print "CPU_USAGE="$1, "USER="$3}'
希望这是你想要的。你的问题不清楚......