Renderizando HTML de um pipe

Renderizando HTML de um pipe

Eu gostaria de poder gerar HTML e depois canalizá-lo para um programa que irá renderizá-lo, algo como isto:

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

Infelizmente, o Firefox não pode renderizar dados canalizados do stdin. Nem o Google Chrome. lynxpode, mas quem quer usar isso?

Tentei criar um pipe nomeado, abri-lo no Chrome e/ou Firefox e, em seguida, canalizar os dados para ele - mas o navegador não foi atualizado quando enviei dados através do pipe nomeado.

Existem navegadores não baseados em texto que renderizarão html a partir do stdin? A saída não precisa ser chamativa, estou mais interessado em tornar os dados delimitados um pouco mais legíveis, em tempo real.

Editar:

Tentei usar a substituição de processo do bash, por exemplo firefox <(sh /tmp/tablegen.sh), que também não funcionou. Na pior das hipóteses, eu poderia gerar um arquivo temporário, renderizar e excluir, mas preferiria uma solução um pouco mais elegante.

Responder1

De uma das respostas emessa questãoeu encontreibcat:

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.

Agora posso executar um script como este:

$ python foo.py | bcat

...e a ​​saída HTML resultante abre em uma nova aba do Firefox!

No Ubuntu e outras distribuições Linux baseadas em Debian você pode instalar bcatcom este comando:

$ sudo aptitude install ruby-bcat

informação relacionada