Melhor maneira de inserir blocos de HTML no bash

2

Eu tenho trabalhado em um script que coleta dados sobre servidores e os formata em um bom relatório de e-mail html. Eu tenho usado sed para substituir os valores em um modelo de html até agora e que tem sido praticamente tudo bem, mas me deparei com uma situação onde eu preciso inserir um bloco de várias linhas de html com base em variáveis um número arbitrário de vezes. Eu não tenho certeza como fazer isso, como sed parece não jogar muito legal com várias linhas? Talvez haja uma maneira com perl ou awk que eu não tenha considerado.

Aqui está um exemplo em que eu preciso inserir blocos de tabela 0-n em um modelo existente com base em quantos arquivos existem

para f em $ files

  <tr class="details">
        <td> f.$DATE </td>
        <td> f.$APPLIANCE </td>
        <td> f.$HOST </td>
        <td> f.$MDL </td>
  </tr>

etc.

Obrigado!

    
por Laurence Diack 13.04.2017 / 00:42

2 respostas

1

Use um documento aqui:

for f in $files; do
    cat <<END_HTML
  <tr class="details">
        <td> f.$DATE </td>
        <td> f.$APPLIANCE </td>
        <td> f.$HOST </td>
        <td> f.$MDL </td>
  </tr>
END_HTML
done

Isso produzirá o bloco quantas vezes houver palavras em $files , com as variáveis nomeadas expandidas para seus respectivos valores.

    
por 18.09.2017 / 00:53
0

Você pode experimentar os "snippets", muitos editores de texto ou IDE que suportam esse recurso. Você pode personalizar algum modelo para o bloco de codificação e nomeá-lo, então você pode digitar o nome e a guia para expandi-lo para o bloco de codificação. Além disso, você pode tabular para editar os espaços reservados.

    
por 13.04.2017 / 02:38