次のように、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 は stdin からパイプされたデータをレンダリングできません。Google Chrome も同様です。lynx
できますが、誰がそれを使いたいでしょうか?
名前付きパイプを作成し、それを Chrome や Firefox で開いて、そこにデータをパイプしようとしましたが、名前付きパイプを介してデータを送信してもブラウザは更新されませんでした。
stdin から HTML をレンダリングする非テキストベースのブラウザはありますか? 出力は派手である必要はありません。私は主に、区切られたデータをその場でもう少し読みやすくすることに関心があります。
編集:
bash のプロセス置換 (例 ) も使用してみましたが、firefox <(sh /tmp/tablegen.sh)
これも機能しませんでした。最悪のシナリオでは、一時ファイルに出力し、レンダリングしてから削除することもできますが、もう少しエレガントな解決策の方が好ましいと思います。
答え1
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 やその他の Debian ベースの Linux ディストリビューションでは、bcat
次のコマンドでインストールできます。
$ sudo aptitude install ruby-bcat