BASH,在循环中读取文件中的第一列

时间:2013-11-20 15:11:13

标签: bash awk cpu

这是我想要做的。我想赶上前10个消耗PID的cpu并找到程序名称。然后在文件中显示程序名称和%CPU。

CPU_per=$(sar 1 1 | tail -1 | awk '{print 100 - $5}')
echo $CPU_per
if [ $CPU_per -gt 80 ]

    (prstat -u user -n 900 0 1 | grep Type | head -n 10 | awk '{print $1 " " $9}') >> /tmp/PID

for i in $(cat /tmp/PID)
do          
    (awk '{print $1 } | ps -p $PID -o args | tail -1 | cut -d \  -f 2)

我希望输出看起来像

Process  %CPU
Program1  5%
Program2  9%
Program3  12%

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

 echo -e "COMMAND\t\t%CPU"; ps -eo "%c %C%%" --sort pcpu | tail -n10