awk or sed help needed

Hi All,

p1=90;

if [ $p1 > 70 ]
then
echo "<font color=red>"
else
echo "<font color=green>"
fi

how to i do it in awk or sed scripting ?

what you want to do?

hi

$ free
total used free shared buffers cached
Mem: 16438364 15336772 1101592 0 397540 9716872
-/+ buffers/cache: 5222360 11216004
Swap: 8385920 91088 8294832

total memory = 16438364 KB
used memory = 15336772 KB
free memory = 1101592 KB

used memory percentage = 93%.

Now I have to display if memory utilisation is more than 70% then i wanted to display free command in red color or else in green color in HTML PAGE.

p1=93;

if [ $p1 > 70 ]
then
echo "<font color=red> $(free) </font>"
else
echo "<font color=green>$(free)</font>"
fi

how to i do it in awk or sed scripting ?

try the ff.

FGRED=`echo "\033[31m"`
FGCYAN=`echo "\033[36m"`
BGRED=`echo "\033[41m"`
FGBLUE=`echo "\033[35m"`
NORMAL=`echo "\033[m"`

source

You can do something like that with awk :

free  | \
awk -v limit=70 -F'[ =%]' '
/used memory percentage/ {
   freemem = $(NF-1);
   color = (freemem > limit ? "red" : "green");
   sub($(NF-1) "%", "<font color=" color ">" $(NF-1) "</font>%")
} 
1 '

Output :

total used free shared buffers cached
Mem: 16438364 15336772 1101592 0 397540 9716872
-/+ buffers/cache: 5222360 11216004
Swap: 8385920 91088 8294832


total memory = 16438364 KB
used memory = 15336772 KB
free memory = 1101592 KB

used memory percentage = <font color=red>90</font>%.

Jean-Pierre.