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 los datos ingresados desde la entrada estándar. Tampoco Google-Chrome. lynx
puede, pero ¿quién quiere usar eso?
Intenté crear una canalización con nombre, abrirla en Chrome y/o Firefox y luego canalizar datos a ella, pero el navegador no se actualizó cuando envié datos a través de la canalización con nombre.
¿Existen navegadores que no estén basados en texto y que representen HTML desde la entrada estándar? No es necesario que el resultado sea deslumbrante; lo que más me interesa es hacer que los datos delimitados sean un poco más legibles, sobre la marcha.
Editar:
Intenté usar la sustitución de procesos de bash, por ejemplo firefox <(sh /tmp/tablegen.sh)
, eso tampoco funcionó. En el peor de los casos, podría generar un archivo temporal, renderizarlo y luego eliminarlo, pero preferiría una solución un poco más elegante.
Respuesta1
De una de las respuestas en adelanteesta preguntaencontré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 el resultado HTML resultante se abre en una nueva pestaña de Firefox!
En Ubuntu y otras distribuciones de Linux basadas en Debian puedes instalar bcat
con este comando:
$ sudo aptitude install ruby-bcat