값을 기준으로 열 셀 값의 배경 변경(awk로 생성된 HTML 보고서)

값을 기준으로 열 셀 값의 배경 변경(awk로 생성된 HTML 보고서)

awk를 사용하여 HTML 테이블(데이터베이스의 데이터)을 만들었습니다. 셀 값을 기반으로 열의 배경을 만드는 데 막혔습니다. CSS에 대해 잘 모릅니다. 조건에 따라 ont b를 변경할 수 있지만 배경색에 따라 변경할 수는 없습니다. 여기 내 코드가 있습니다. 상태가 100 미만이면 배경은 빨간색이어야 합니다. 그렇지 않으면 배경은 테이블의 나머지 부분과 동일합니다.

BEGIN {
  print "<html><body></br></br>The report provides overall Percentage Secured in the given subjects.</br></br></br>"
  print "<table border=1 bgcolor= \'LemonChiffon\" cellspacing=1 cellpadding=1>"
}

NR==1 {
  # Header row
  print "<tr>"

  for ( i = 1; i <= NF; i++ ) {
    print "<td><b>"$i"</b></td>"
  }
  print "</tr>"
}

NR>1 {
  # Data rows
  print "<tr>"
  if( $i < 100 ) {
    color="RED"  \\ Background should be Red if the status is less tha 100\\
}
  if( $i == 100 ) {
    color="BLACK" \\Same background as rest o the table\\
  }
  print "<td><b><FONT COLOR=\""color"\" FACE=\"verdana\" SIZE=2>"$1"</b></FONT></td><td>"$2"</td><td>"$3"</td><td>"$4"</td><td>"$5"</td>"
  print "</tr>"
}
END {
  print "</table></body></html>"
} 

답변1

다음은 기본 CSS 속성에 대한 오래되었지만 좋은 참조입니다.http://www.htmlhelp.com/reference/css/properties.html

내가 할게

BEGIN {
  print "<html><head>"
  print "<title> Set the page title here </title>"
  print "<style type=\"text/css\">"
  print ".error {
  print "   color: red,"
  print "   font-size: larger,"
  print "   // other properties... take care, no trailing comma allowed"
  print "}"
  print "</style></head>"
  print "<body>"
  # use P tags, not BR line breaks -- easier to apply styling.
  print "<p>The report provides overall Percentage Secured in the given subjects.</p>"
  print "<table border=1 bgcolor=\"LemonChiffon\" cellspacing=1 cellpadding=1>"
}

NR == 1 {...} # I would use TH tags for the headers

NR > 1 {
  # Data rows
  print "<tr>"
  for ( i = 1; i <= NF; i++ ) {
    class = $i < 100 ? "class=\"error\"" : ""
    printf "<td %s>%s</td>\n", class, $i
  }
  print "</tr>"
}

스타일을 한 곳에 두는 것이 도움이 되는 경우

관련 정보