15

Я хотел бы иметь возможность генерировать HTML, а затем передать его в программу, которая будет отображать его, что-то вроде этого:

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

К сожалению, Firefox не может отображать данные, передаваемые со стандартного ввода. Ни один не может Google-Chrome. lynx может, но кто хочет это использовать?

Я попытался создать именованный канал, открыть его в Chrome и / или Firefox, а затем передать данные в него, но браузер не обновлялся, когда я отправлял данные через именованный канал.

Есть ли нетекстовые браузеры, которые будут рендерить html из stdin? Выходные данные не должны быть блестящими, я в основном заинтересован в том, чтобы сделать данные с разделителями немного более читабельными, на лету.

Редактировать:

Я попытался использовать процесс подстановки в bash, например, firefox <(sh /tmp/tablegen.sh) , который тоже не работал. В худшем случае я мог бы вывести во временный файл, отобразить, а затем удалить, но я бы предпочел более элегантное решение.

1 ответ1

14

Из одного из ответов на этот вопрос я нашел 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.

Теперь я могу запустить такой скрипт:

$ python foo.py | bcat

... и результирующий вывод HTML открывается в новой вкладке Firefox!

В Ubuntu и других дистрибутивах Linux на основе Debian вы можете установить bcat с помощью этой команды:

$ sudo aptitude install ruby-bcat

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .