シェルスクリプトを介してHTMLテーブルのテキストの色を変更する方法

シェルスクリプトを介してHTMLテーブルのテキストの色を変更する方法

誰でもこの問題を解決するのに役立ちますか?以下のテキストを含むCSVファイルがあります。 CSVファイルからHTMLファイルを生成できますが、テキストの色を変更することはできません。成功すると緑、失敗した場合は赤でなければなりません。

CSVファイルの内容


HB load,14-Jun-2018, success 
MF load,14-Jun-2018,failure
SP load,14-Jun-2018,success
LN load,14-Jun-2018,failure

スクリプト


awk 'BEGIN{
FS=","
print  "<HTML>""<TABLE border="1"><TH>JOB_NAME</TH><TH>RUN_DATE</TH><TH>STATUS</TH>"
}
 {
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
 }
END{
print "</TABLE></BODY></HTML>"
 }
' test > file.html
(
echo "To: [email protected]"
echo "Subject: Report"
echo "Content-Type: text/html"
echo
cat file.html
echo
) | /usr/sbin/sendmail -t

file.htmlコンテンツ


<HTML><TABLE border=1><TH>JOB_NAME</TH><TH>RUN_DATE</TH><TH>STATUS</TH>
<TR><TD>HB load</TD><TD>14-Jun-2018</TD><TD>success </TD></TR>
<TR><TD>MF load</TD><TD>14-Jun-2018</TD><TD>failure</TD></TR>
<TR><TD>SP load</TD><TD>14-Jun-2018</TD><TD>success</TD></TR>
<TR><TD>LN load</TD><TD>14-Jun-2018</TD><TD>failure</TD></TR>
</TABLE></BODY></HTML>

ベストアンサー1

この試み、

awk 'BEGIN{
FS=","
print  "<HTML>""<TABLE border="1"><TH>JOB_NAME</TH><TH>RUN_DATE</TH><TH>STATUS</TH>"
}
 {
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
 }
END{
print "</TABLE></BODY></HTML>"
 }
' test > file.html
sed -i "s/failure/<font color="red">failure<\/font>/g;s/success/<font color="green">success<\/font>/g" file.html
(
echo "To: [email protected]"
echo "Subject: Report"
echo "Content-Type: text/html"
echo
cat file.html
echo
) | /usr/sbin/sendmail -t

おすすめ記事