【发布时间】:2022-02-27 17:46:51
【问题描述】:
我正在尝试使用找到的步骤here 计算处理器的 CPU 负载。我设法做到了:
cat /proc/stat | head -n 1 | awk '{print ($5+$6, $2+$3+$4+$7+$8+$9)}' | awk '{print($1,$1+$2)}'
这给了我我需要的价值观。但是,我需要在一秒钟后计算相同的值,然后使用这两个结果来计算最终负载。这意味着,我需要做这样的事情:
cat /proc/stat | calculate something | awk '{print($1,$1+$2)}' ; sleep for a second; calculate again; use both of the results
有没有办法让我在第一次 awk 调用中保存变量 $1 和 $1+$2,以便我以后可以使用它们?我不能使用 bash 脚本,它需要在命令行中完成。
【问题讨论】:
-
bash script, it needs to be done in a command line命令行是bash,也一样。hat I need to do something那就这样做吧。a=$(....); sleep 1; b=$(...); echo use $a and $b. -
您能否扩展您的评论:
it needs to be done in a command line.?每次您需要执行此操作时...您要在命令提示符下手动键入吗?把它放在一个可以重复执行的脚本中不是更有意义吗(不需要做所有的输入,或者通过手动输入引入语法/逻辑错误)?甚至将逻辑放入一个函数(一种“脚本”;参见 EdMorton 的回答)也会有用