So erstellen Sie mehrere HTML-Tabellen aus mehreren CSV-Dateien mit einem Shell-Skript

533
Praveen Prakasan

Ich habe zwei CSV-Dateien wie folgt:

test1.csv:

user size aaa 10 bbb 20 ccc 30 

test2.csv:

name value www 5 mmm 8 ppp 9 

Ich möchte dies mit einem Shell-Skript in zwei separate HTML-Tabellen konvertieren. Wie mache ich das?

0

1 Antwort auf die Frage

0
uzsolt

Angenommen, die Felder in Ihren Dateien werden durch Leerzeichen getrennt, und Sie haben nur zwei Felder in jeder Zeile:

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 

Die erste Zeile nimmt an, dass die erste Zeile des test1.csvTabellenkopfes ist. Öffnen Sie das <table>Tag <tr>und schließen Sie jedes Feld dazwischen ein <th>. Nachdem es die geschlossen hat </tr>. Die zweite Zeile ist ähnlich, transformiert jedoch nur aus der zweiten Zeile von test1.csv.

Die dritte Zeile hängt an die letzte Zeile ( $) </table>, um den tableTag zu schließen (in der ersten Zeile geöffnet).

Das geht awknatürlich mit rein .