awk - 在 awk 中使用嵌套的“if”需要输入
问题描述
我有下面的脚本,这将有助于显示内存值,但是如果缓冲区内存 < 可用内存其他 0,我想将变量打印为 VALUE_NUM 作为 1。
请就如何实现它提供您的意见。
if [ $REPORT_MEMORY_FREE_AS_MEMORY_AVAILABLE -eq 1 ]
then
free -m | awk -v OFS="" '
NR==2 { MEM_TOTAL_MB = $2;
MEM_USED_MB = $3;
MEM_FREE_MB = $4;
MEM_BUFFER_MB = $6;
MEM_CACHED_MB = $7;
}
NR==3 {
MEM_CACHE_USED_MB = $3;
MEM_CACHE_FREE_MB = $4;
}
END {
print "name=Hardware Resources_mod|Memory|Total (MB),aggregator=OBSERVATION,value=", MEM_TOTAL_MB;
print "name=Hardware Resources_mod|Memory|Used (MB),aggregator=OBSERVATION,value=", MEM_USED_MB;
print "name=Hardware Resources_mod|Memory|Free (MB),aggregator=OBSERVATION,value=", MEM_FREE_MB;
print "name=Hardware Resources_mod|Memory|Buffer (MB),aggregator=OBSERVATION,value=",MEM_BUFFER_MB;
print "name=Hardware Resources_mod|Memory|Cache (MB),aggregator=OBSERVATION,value=",MEM_CACHED_MB;
print "name=Hardware Resources_mod|Memory|cache_Used (MB),aggregator=OBSERVATION,value=",MEM_CACHE_USED_MB;
print "name=Hardware Resources_mod|Memory|cache_Free (MB),aggregator=OBSERVATION,value=",MEM_CACHE_FREE_MB;
MEM_USED_PCT = int((MEM_USED_MB / MEM_TOTAL_MB) * 100);
print "name=Hardware Resources_mod|Memory|Used %,aggregator=OBSERVATION,value=", MEM_USED_PCT;
print "name=Hardware Resources_mod|Memory|Free %,aggregator=OBSERVATION,value=", 100 - MEM_USED_PCT;
}
'
解决方案
推荐阅读
- android - Google 登录“选择一个帐户以继续”循环
- android - IONIC 5 Cordova 插件在运行 android 时可以构建但无法工作。它仅在 -livereload 中有效
- iterator - 需要帮助遍历嵌套列表,但是
- amazon-web-services - CloudFormation 创建 EC2 指定子网
- amazon-web-services - AWS 是否记录消息已移至 SQS DLQ
- android - 如何让这个 iOS Http Post Request 工作?
- git - Azure DevOps 中具有路径限制的分支策略
- c# - C#/Entity Framework 方法返回抛出构造函数错误的类列表
- python - 如何将两个时间间隔列分组为可识别的月份?
- html - 在 HTML 中,它不允许我从我的计算机(.mp4)添加视频,但是我尝试的方式