Bir kanaldan HTML oluşturma


15

HTML oluşturmak sonra bunu yapacak bir programa boru mümkün olmak istiyorum, böyle bir şey:

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

Ne yazık ki, firefox stdin'den aktarılan verileri oluşturamaz. Ayrıca google-chrome da olamaz. lynxolabilir, ama bunu kim kullanmak ister?

Adlandırılmış bir kanal oluşturmayı denedim, bunu krom ve / veya firefox'ta açıp veriyi boruya aktardım - ancak adlandırılmış kanaldan veri gönderdiğimde tarayıcı güncellenmedi.

Stdin'den html oluşturacak metin tabanlı olmayan tarayıcılar var mı? Çıktının gösterişli olması gerekmez, çoğunlukla sınırlandırılmış verileri biraz daha okunabilir hale getirmekle ilgileniyorum.

Düzenle:

Ben bash'ın süreç ikamesini kullanmayı denedim, örneğin firefox <(sh /tmp/tablegen.sh), bu da işe yaramadı. En kötü durum senaryosu, bir geçici dosyaya çıktı yapabilir, oluşturabilir, sonra silebilirim, ancak biraz daha zarif bir çözümü tercih ederim.



İyi bağlantı; oldukça iyi bir temp dosyası kullanarak gitmek için tek yol olduğunu şüphem doğruladı.
Barton Chittenden

Yanıtlar:


14

Bu sorunun yanıtlarından birini buldum 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.

Şimdi böyle bir komut dosyası çalıştırabilirsiniz:

$ python foo.py | bcat

... ve ortaya çıkan HTML çıktısı yeni bir Firefox sekmesinde açılır!

Ubuntu ve diğer Debian tabanlı Linux dağıtımlarında bcatbu komutla kurabilirsiniz :

$ sudo aptitude install ruby-bcat

Merhaba 2019'dan, yukarıdaki kurulum işe yaramadı ama işe sudo gem install bcatyaradı. :-)
roufamatic
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.