Linux   发布时间:2022-05-08  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – awk脚本总是打印sum = 0大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果问题可能很愚蠢,我很抱歉,但我对awk脚本完全不熟悉.
我想要做的是用户“root”计算和打印cpu和内存的使用情况.
我写了这个执行awk脚本的bash脚本:

#!/bin/bash

ps aux > processi.txt
echo Lancio script3.awk
awk -f script3.awk processi.txt

并且awk脚本如下:

#!/usr/bin/awk

BEGIN{
print "Inizio script\n"
cpu=0
mem=0
}

/root/{
    printf("cpu usata da root loop=%.1f,memoria=%.1f\n",$3,$4)

        cpu=cpu+$3
        mem=mem+$4
}

END{
printf("cpu usata da root=%.1f,$cpu,$mem)
print "\nFine script\n"
}

但是END的打印是0,而/ root /是正确的.
有什么建议?

解决方法

$不用于扩展awk中的变量,它表示特定输入字段的扩展,其数字包含在给定变量中.也就是说,如果cpu = 3,则$cpu相当于$3.只需使用变量名称.

END {
  printf("cpu usata da root=%.1f,cpu,mem)
  print "\nFine script\n"
}

大佬总结

以上是大佬教程为你收集整理的linux – awk脚本总是打印sum = 0全部内容,希望文章能够帮你解决linux – awk脚本总是打印sum = 0所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: