繁体   English   中英

分配awk多个变量

[英]Assign awk multiple variables

我正在使用此命令检查所有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分配变量,但没有成功

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}'

希望这是你想要的。 你的问题不清楚,否则......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM