Mam dwa takie pliki csv:
test1.csv:
user size
aaa 10
bbb 20
ccc 30
test2.csv:
name value
www 5
mmm 8
ppp 9
Chcę to przekonwertować na dwie oddzielne tabele HTML za pomocą skryptu powłoki. Jak mam to zrobic?
Załóż, że pola w twoich plikach są oddzielone spacjami i masz tylko dwa pola w każdym wierszu:
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
Pierwsza linia przyjmuje pierwszą linię test1.csv
jest głową stołu. Otworzyć <table>
tag, a <tr>
i zamknij każde pole między <th>
. Po zamknięciu </tr>
. Druga linia jest podobna, ale przekształca się tylko z drugiej linii test1.csv
.
Trzecia linia dodaje ostatnią linię ( $
) </table>
zamknąć table
tag (otwarty w pierwszej linii).
Możesz to zrobić z czystym awk
oczywiście.