La mejor forma de insert bloques de HTML en bash

He estado trabajando en un script que recostack datos sobre serveres y los formatea en un buen informe de correo electrónico html. He estado utilizando sed para replace valores en una plantilla html hasta ahora y eso ha estado muy bien, pero he encontrado una situación en la que necesito insert un bloque de líneas múltiples de html basado en variables un número arbitrario de veces. No estoy seguro de cómo hacer esto, ya que sed no parece jugar muy bien con múltiples líneas? Tal vez haya una manera con perl o awk que no había considerado.

Aquí hay un ejemplo en el que necesitaría insert bloques de tabla 0-n en una plantilla existente en function de cuantos files haya.

para f en $ files

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

etc.

¡Gracias!

Puede probar los "fragments", muchos editores de text o IDE admiten esta function. Puede personalizar una plantilla para el bloque de encoding y ponerle un nombre, luego puede escribir el nombre y la pestaña para expandirlo al bloque de encoding. Además, puede tab para editar los marcadores de position.

Use un documento aquí:

 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 

Esto generará el bloque tantas veces como palabras en $files , con las variables nombradas expandidas a sus respectivos valores.