Renderizar HTML desde una tubería


15

Me gustaría poder generar HTML y luego canalizarlo a un programa que lo represente, algo como esto:

for i in 1 2 3
do
    for j in a b c
    do
        echo "<table border="1"><tr><td>$i</td><td>$j</td></tr></table>"
    done
done | /usr/bin/firefox

Desafortunadamente, Firefox no puede procesar datos canalizados desde stdin. Tampoco Google-Chrome. lynxpuede, pero ¿quién quiere usar eso?

Intenté crear una tubería con nombre, abriéndola en Chrome y / o Firefox y luego canalizando datos a eso, pero el navegador no se actualizó cuando envié datos a través de la tubería con nombre.

¿Hay algún navegador que no esté basado en texto que represente html desde stdin? La salida no necesita ser deslumbrante, estoy interesado principalmente en hacer que los datos delimitados sean un poco más legibles, sobre la marcha.

Editar:

Intenté usar la sustitución del proceso de bash, por ejemplo firefox <(sh /tmp/tablegen.sh), tampoco funcionó. En el peor de los casos, podría generar un archivo temporal, renderizar y luego eliminar, pero preferiría una solución un poco más elegante.



Buen enlace; bastante bien confirmó mi sospecha de que usar un archivo temporal es el único camino a seguir.
Barton Chittenden

Respuestas:


14

De una de las respuestas a esta pregunta encontré bcat:

NAME

  bcat - browser cat

DESCRIPTION

  The bcat utility reads from standard input, or one or
  more files, and pipes output into a web browser. file
  may be '-', in which case standard input is concatenated
  at that position.

  When invoked as btee, all input is written immediately
  to standard output in addition to being piped into
  the browser.

Ahora puedo ejecutar un script como este:

$ python foo.py | bcat

... y la salida HTML resultante se abre en una nueva pestaña de Firefox!

En Ubuntu y otras distribuciones de Linux basadas en Debian, puede instalar bcatcon este comando:

$ sudo aptitude install ruby-bcat

Hola, desde 2019, la instalación anterior no funcionó pero sudo gem install bcatfuncionó. :-)
roufamatic
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.