2016-04-11 155 views
0

当前脚本

我有一个文本文件,该文件获取服务器信息是否向上/向下与像条目给定的时间段内:如何更改基于列值列的背景颜色在HTML

Server1 UP DOWN UP Down UP UP Down 
Server2 Down UP Down Up UP Down Down 

这是将上述文本文件转换为HTML页面的shell脚本。

awk 'BEGIN{print "<html>\n<head>\n <style>\n table,th,td \n{\n border:1px solid black;border-collapse:collapse;n}\n</style>\n</head>\n<Body>\n<table><tr></tr> " 
    } 
    { 
    print "<tr>" 
    for(i=1;i<=NF;i++) 

     print "<td>" $i"</td>" 
    print "</tr>" 
    } 
    END{ 
    print "\n</table>\n</Body>\n</html>\n" 
    }' testresult.txt > /var/www/html/test.html 

问题:

而转换文本内容为HTML,我需要的HTML细胞背景时,该条目是“向下”当服务器是“UP”是彩色的,以红色和绿色

试过:

我试图在for循环中包含一个If语句,以便将文本值与UP/Down进行匹配。但是徒劳无功。请您建议我失踪的地方,还有其他方法可以尝试吗?

+0

可能你写你的shell “如果命令” 在这里。你可以很容易地用js代码解决它,但是如果你正确地执行if命令,那么如果你给​​元素提供了一个样式或类,那么应该很容易。 –

+0

Hi @KOrroshSh:如果[if i ==“UP”] ..(然后做动作) 打印出来,如果在for循环后如下所示:for(i = 1; i <= NF; i ++) print “​​”$ i“” print“” – user3510848

回答

0

更换

for(i=1;i<=NF;i++) 

    print "<td>" $i"</td>" 

for(i=1;i<=NF;i++) 

    print "<td class = 'style" $i "'>" $i"</td>" 

然后添加到您的CSS

.styleDown {background-color: red;} 
.styleUP {background-color: green;}