我下面有$('#items').append(html);
脚本,该脚本以表格格式发送电子邮件。 awk
脚本的输入是管道分隔文件。
awk
管道分隔文件的内容:
awk 'BEGIN{
FS="|"
print "<HTML>""<TABLE border="1"><TH>Expected_code</TH><TH>Expected_Values</TH>"
}
{
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
}
END{
print "</TABLE></BODY></HTML>"}
' query_results > file.html
看上面的数据集,我需要以一种方式更改ABC|500
XYZ|300
TET|200
SCT|10
ASA|csr
脚本
每次都会检查行号awk
和第二个字段(这里是
4
)是否为10
,如果其值为> 0
,则将背景颜色更改为红色。
每次都会检查行号> 0
和第二个字段(这里是
5
)是否为非null字段。如果它不是一个空字段,则将背景颜色更改为红色。
答案 0 :(得分:1)
您如何看待这种方式? :
awk -v RS="[|\n]" -v ORS="" '
BEGIN{print "<HTML><TABLE border=\"1\"><TH>Expected_code</TH><TH>Expected_Values</TH>\n"}
NR % 2{print "<TR><TD>" $0 "</TD>"}
!(NR%2){t="<TD>";if(( (NR == 8 || NR == 26) && $0 > 0) || ( (NR == 10 || NR == 28) && $0 != null) )t="<TD bgcolor=\"#FF0000\">"
print t $0 "</TD></TR>\n"}
END{print "</TABLE></BODY></HTML>"}' query_results > outputfile;
通过这种方式,我只是想避免使用for
句子。