下面是数据文件(结果)的内容-
13450708,13470474,US,15
24954,24845,JPN,44
14258992,14365059,US,4
24954,24845,IND,44
我想将以上数据集以表格格式发送到电子邮件。为此,我使用下面的awk脚本。 现在我在这里面临的挑战是-如果数据集中的最后字段(即此处15,44,4,44)> 40,我想将背景色设为红色。 您能告诉我如何在下面的代码中使用它吗?
awk 'BEGIN{
FS=","
print "<HTML>""<TABLE border="1"><TH>Store_count</TH><TH>Store_sold</TH><TH>Store_code</TH><TH>Backlogs</TH>"
}
{
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
}
END{
print "</TABLE></BODY></HTML>"
}
' results > file1.html
答案 0 :(得分:0)
我真的不明白您为什么要为此苦苦挣扎,因为您似乎已经掌握了所有信息,可以做自己想要做的事情,但是无论如何-只需更改:
printf "<TD>%s</TD>", $i
到
printf "<TD%s>%s</TD>", ( (i==NF) && ($i > 40) ? " style=\"background-color:red\"" : "" ), $i
或者如果您不喜欢三元表达式:
printf "<TD"
if ( (i==NF) && ($i > 40) ) {
printf " style=\"background-color:red\""
}
printf ">%s</TD>, $i
或类似的
答案 1 :(得分:-1)
任何人都意识到我在下面的代码中无论如何为我犯了错误,这给了预期的结果。 for(i = 1; i <= NF; i ++)
如果(i == 4 && $ 4> = 40)
{
printf“%s”,$ i
}
其他
{
printf“%s”,$ i
}
打印“”
}
END {
打印“”
}
'results1> file1.html