Конвертировать результат сценария оболочки в таблицу HTML - PullRequest
1 голос
/ 23 марта 2020

Пожалуйста, помогите мне преобразовать результат сценария оболочки в HTML таблицу по электронной почте. Я написал сценарий оболочки, который выдаст выходные данные в следующем формате.

Directory Name: /a/b/c
Business Date: 20200323
Expected_files_1:2
Expected_files_2:14
Actual_files_1: File count changes each day
Actual_files_2: File count changes each day
Comments of Actual_files_1
Comments of Actual_files_2
Other Comments

И я хочу преобразовать приведенные выше результаты в таблицу HTML, используя сценарий оболочки.

Ожидаемый HTML table: изображение ожидаемой таблицы

Таблица всегда должна содержать две строки, одна - заголовок, а другая - значения переменных из скрипта. Первая строка - это заголовок таблицы HTML, которая всегда останется неизменной. Значения второй таблицы меняются каждый день.

Поскольку я новичок в написании сценариев HTML / Shell, я не имею ни малейшей идеи написать сценарий, который даст мне результат в формате HTML.

Любая помощь будет оценена

1 Ответ

0 голосов
/ 23 марта 2020

Предполагая, что ваш вывод хранится в / tmp / output.txt , попробуйте это:

./yourscript.sh > /tmp/output.txt
awk -F ':' 'BEGIN { print "<html>\n<body>\n<table>\n\t<tr>" } { print "\t\t<th>"$1"</th>" } END { print "\t</tr>" }' /tmp/output.txt
awk -F ':' 'BEGIN { print "\t<tr>" } { print "\t\t<td>"$2"</td>" } END { print "\t</tr>\n</table>\n</body>\n</html>" }' /tmp/output.txt

, который возвращает

<html>
<body>
<table>
        <tr>
                <th>Directory Name</th>
                <th>Business Date</th>
                <th>Expected_files_1</th>
                <th>Expected_files_2</th>
                <th>Actual_files_1</th>
                <th>Actual_files_2</th>
                <th>Comments of Actual_files_1</th>
                <th>Comments of Actual_files_2</th>
                <th>Comments Other</th>
        </tr>
        <tr>
                <td> /a/b/c</td>
                <td> 20200323</td>
                <td>2</td>
                <td>14</td>
                <td> File count changes each day</td>
                <td> File count changes each day</td>
                <td></td>
                <td></td>
                <td></td>
        </tr>
</table>
</body>
</html>

Вы бы упростили это для себя, если вы убедились, что каждая строка, выводимая вашим скриптом, имеет одинаковый формат key: value. Мы можем помочь вам в дальнейшем, если вы поделитесь своим сценарием с нами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...