Как динамически генерировать заголовки HTML из .csv, используя первую запись вместе со стилем CSS - PullRequest
0 голосов
/ 14 октября 2019

У меня есть сценарий, в котором я печатаю заголовки

Но я передаю вручную имя заголовка в коде awk

awk -F, 'BEGIN { print "<HTML><TABLE border=\"1\"><TR bgcolor=\"black\"><TH><font color=\"#FFFFFF\"> NAME </font> </TH><TH><font color=\"#FFFFFF\">COURSE</font></TH></TR>" 
}
{
    printf "<TR>"
    for(i=1;i<=NF;i++)
    printf "<TD>%s</TD>", $i
    print "</TR>"
}
END { print "</TABLE></BODY></HTML>" }' /d/file.csv > /d/file.html

Образец файла .csv

NAME,CITY,COURSE
A,B,AA
B,A,BB   
M,MA,MD 
RAM,SU,GM  
VIK,HU,JI

.csv файл будет содержать первую запись в качестве заголовков, сколько полей их в первой записи, именно так заголовки должны создаваться динамически со стилем bg_color = black и font-color = white

Цель динамического заголовка состоит в том, что он будет уменьшать ручной способ написания заголовков каждый раз ... возможность их повторного использования будет ...

1 Ответ

2 голосов
/ 14 октября 2019

Не могли бы вы попробовать один раз.

awk -F, '
BEGIN{
  print "<HTML>\
         <TABLE border=\"1\">"
}
FNR==1{
  print "<TR bgcolor=\"black\">"
  for(i=1;i<=NF;i++){
     printf "<TH style=\"color:white\">%s</TH>%s", $i, (i<NF?OFS:ORS)
  }
  print "</TR>"
  next
}
{
    printf "<TR>"
    for(i=1;i<=NF;i++)
    printf "<TD>%s</TD>", $i
    print "</TR>"
}
END{
    print "</TABLE>"ORS"</BODY>" ORS "</HTML>"
}
'  Input_file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...