Questão Como criar várias tabelas html a partir de vários arquivos csv usando um script de shell


Eu tenho dois arquivos csv como este:

test1.csv:

user size
aaa   10
bbb   20
ccc   30

test2.csv:

name value
www   5
mmm   8
ppp   9

Eu quero converter isso para duas tabelas HTML separadas usando um script de shell. Como eu faço isso?


0


origem




Respostas:


Suponha que os campos em seus arquivos sejam separados por espaços e você tenha apenas dois campos em cada linha:

sed -E '1 s@^([^ ]*) *(.*)@<table><tr><th>\1</th><th>\2</th></tr>@ ; \
  2,$ s@^^([^ ]*) *(.*)@<tr><td>\1</td><td>\2</td></tr>@ ; \
  $ s,.*,&</table>,' test1.csv

A primeira linha assume a primeira linha de test1.csv é a cabeça da mesa. Abra o <table> tag, um <tr> e coloque todos os campos entre <th>. Depois que fecha o </tr>. A segunda linha é semelhante, mas só se transforma a partir da segunda linha de test1.csv.

A terceira linha acrescenta a última linha ($) a </table> para fechar o table tag (aberta na primeira linha).

Você pode fazer isso com pura awk claro.


0