Нужны входы в использовании вложенного "если" в awk
У меня есть скрипт ниже, который поможет отобразить значения памяти, однако я хотел бы напечатать переменную как VALUE_NUM как 1, если Буферная память <Свободная память, иначе 0.
Пожалуйста, внесите свой вклад в то, как этого добиться.
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;
}
'