Renderizando HTML de um pipe

14

Eu gostaria de poder gerar HTML, em seguida, canalizá-lo para um programa que irá renderizá-lo, algo assim:

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 processar dados enviados de stdin. Nem o google-chrome. lynx pode, mas quem quer usar isso?

Eu tentei criar um pipe nomeado, abrindo isso no chrome e / ou no firefox e, em seguida, canalizando dados para isso - mas o navegador não atualizou quando enviei dados por meio do pipe nomeado.

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

Editar:

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

    
por Barton Chittenden 31.12.2012 / 15:15

1 resposta

13

De uma das respostas em esta pergunta , encontrei < a href="http://rtomayko.github.io/bcat/bcat.1.html"> 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.

Agora posso executar um script assim:

$ python foo.py | bcat

... e a saída HTML resultante é aberta em uma nova guia do Firefox!

No Ubuntu e em outras distribuições Linux baseadas no Debian, você pode instalar bcat com este comando:

$ sudo aptitude install ruby-bcat
    
por 24.11.2014 / 09:25

Tags