У меня есть два CSV-файла, как это:

test1.csv:

user size
aaa   10
bbb   20
ccc   30

test2.csv:

name value
www   5
mmm   8
ppp   9

Я хочу преобразовать это в две отдельные таблицы HTML, используя скрипт оболочки. Как мне это сделать?

1 ответ1

0

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

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

Первая строка предполагает, что первая строка test1.csv является заголовком таблицы. Откройте <table> , a <tr> и заключите каждое поле между <th> . После того, как он закрывает </tr> . Вторая строка похожа, но преобразуется только из второй строки test1.csv .

Третья строка добавляет последнюю строку ($) к </table> чтобы закрыть тег table (открывается в первой строке).

Вы можете сделать это с чистым awk конечно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .