# Add Color To html Doc

**URL:** <https://community.unix.com/t/add-color-to-html-doc/343749>\
**Category:** Shell Programming and Scripting\
**Created:** [June 17, 2014, 5:44pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749 "2014-06-17T17:44:27Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![jimmyf](https://community.unix.com/letter_avatar/jimmyf/32/6_22734026db12803ebb3e059622ac3534.png) [@jimmyf](https://community.unix.com/u/jimmyf)\
**Post date:** [June 17, 2014, 5:44pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/1 "2014-06-17T17:44:27Z")

</div>

I have a script which converts a .csv file to html nicely. Trying to add 3 colors, green, yellow and red to the output depending upon the values in the cells. Tried some printf command but just can't seem to get any where. Any ideas would be appreciated.

```nohighlight
nawk 'BEGIN{
FS=","

print "<HTML>""<TABLE border="1"><TH>Col1</TH><TH>Col2</TH><TH>Col3</TH><TH>Col4</TH><TH>Col5</TH><TH>Col6</TH><TH>Col7</TH><TH>Col8</TH><TH>Col9</TH><TH>Col10</TH><TH>Col11</TH>"  
}
 {
printf "<TR>"
for(i=1;i<=NF;i++)
printf "<TD>%s</TD>", $i
print "</TR>"
 }
END{
print "</TABLE></BODY></HTML>"
 }
' a.csv > 1.html 

```

---

<div class="post-metadata">

**Author:** ![Corona688](https://community.unix.com/letter_avatar/corona688/32/6_22734026db12803ebb3e059622ac3534.png) [@Corona688](https://community.unix.com/u/Corona688)\
**Post date:** [June 17, 2014, 6:03pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/2 "2014-06-17T18:03:50Z")

</div>

Please show the input you have and the output you want.

---

<div class="post-metadata">

**Author:** ![Yoda](https://community.unix.com/user_avatar/community.unix.com/yoda/32/2498_2.png) [@Yoda](https://community.unix.com/u/Yoda)\
**Post date:** [June 17, 2014, 6:05pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/3 "2014-06-17T18:05:57Z")

</div>

For table cell color use HTML `td` tag and `bgcolor` attribute.

For table cell font color use HTML `font` tag and `color` attribute.

---

<div class="post-metadata">

**Author:** ![Chubler\_XL](https://community.unix.com/user_avatar/community.unix.com/chubler_xl/32/2077_2.png) [@Chubler\_XL](https://community.unix.com/u/Chubler_XL)\
**Post date:** [June 17, 2014, 6:53pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/4 "2014-06-17T18:53:06Z")

</div>

How about this as an example. this changes all cells and values \>80 are red; \> 60 are yellow and \>30 are green:

```nohighlight
nawk 'BEGIN {
FS=","
printf "<HTML>\n<body>\n<table border=\"1\" cellpadding=\"4\" style=\"border-collapse: collapse\">\n"
print "<th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th><th>Col5</th><th>Col6</th>"
print "<th>Col7</th><th>Col8</th><th>Col9</th><th>Col10</th><th>Col11</th>"
}
{
  print "<tr>"
  for( i = 1; i <= NF; i++ ) {
    printf "%s", "<td"
    if ($i+0>80) printf " bgcolor=#FF3333"
    else if ($i+0>60) printf " bgcolor=#FFCC33"
    else if ($i+0>30) printf " bgcolor=#99FF33"
    print ">" $i "</td>"
  }
  print "</tr>"
}
END { printf "</table>\n</body>\n</html>\n" }' a.csv > 1.html

```

---

<div class="post-metadata">

**Author:** ![jimmyf](https://community.unix.com/letter_avatar/jimmyf/32/6_22734026db12803ebb3e059622ac3534.png) [@jimmyf](https://community.unix.com/u/jimmyf)\
**Post date:** [June 17, 2014, 7:21pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/5 "2014-06-17T19:21:53Z")

</div>

Getting an error code Chub

```nohighlight
nawk: syntax error at source line 1
 context is
 <<< BEGIN >>> {
nawk: illegal statement at source line 1
nawk: syntax error at source line 2

```

---

<div class="post-metadata">

**Author:** ![Chubler\_XL](https://community.unix.com/user_avatar/community.unix.com/chubler_xl/32/2077_2.png) [@Chubler\_XL](https://community.unix.com/u/Chubler_XL)\
**Post date:** [June 17, 2014, 7:31pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/6 "2014-06-17T19:31:05Z")

</div>

Strange this is working OK for me with gnu awk - how did you get the script onto your Solaris box did you edit it in windows and transfer. If so your file may be in DOS format.

Try using `dos2unix your_script_filename` to convert the file into unix format

---

<div class="post-metadata">

**Author:** ![jimmyf](https://community.unix.com/letter_avatar/jimmyf/32/6_22734026db12803ebb3e059622ac3534.png) [@jimmyf](https://community.unix.com/u/jimmyf)\
**Post date:** [June 17, 2014, 7:44pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/7 "2014-06-17T19:44:18Z")

</div>

```nohighlight
dos2unix

```

did it. Can this logic be applied to specific rows and columns ie

```nohighlight
r=3, c=4

```

? Instead of numerical logic, can an instance of a cell that contains say the word "none" be targeted as green for example?

---

<div class="post-metadata">

**Author:** ![Chubler\_XL](https://community.unix.com/user_avatar/community.unix.com/chubler_xl/32/2077_2.png) [@Chubler\_XL](https://community.unix.com/u/Chubler_XL)\
**Post date:** [June 17, 2014, 8:05pm UTC](https://community.unix.com/t/add-color-to-html-doc/343749/8 "2014-06-17T20:05:08Z")

</div>

Sure you can do it like this, here NR is for rownumber; i is the column number :

```nohighlight
nawk 'BEGIN {
FS=","
printf "<HTML>\n<body>\n<table border=\"1\" cellpadding=\"4\" style=\"border-collapse: collapse\">\n"
print "<th>Col1</th><th>Col2</th><th>Col3</th><th>Col4</th><th>Col5</th><th>Col6</th>"
print "<th>Col7</th><th>Col8</th><th>Col9</th><th>Col10</th><th>Col11</th>"
}
NR==3 {
  print "<tr>"
  for( i = 1; i <= NF; i++ ) {
    printf "%s", "<td"
    if (i==4 && $i=="none") printf " bgcolor=#99FF33"
    else if (i==4 && $i+0 > 80) printf " bgcolor=#FFCC33"
    else if (i==4 && $i+0 > 60) printf " bgcolor=#FF3333"
    print ">" $i "</td>"
  }
  print "</tr>"
}
END { printf "</table>\n</body>\n</html>\n" }' a.csv > 1.html

```
