การแสดงผล HTML จากไปป์


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 ไม่สามารถแสดงข้อมูลที่ส่งมาจาก stdin ได้ ไม่สามารถใช้ google-chrome lynxทำได้ แต่ใครต้องการใช้สิ่งนั้น

ฉันพยายามสร้างไปป์ที่มีชื่อเปิดใน Chrome และ / หรือ firefox จากนั้นไพพ์ข้อมูลไปยังที่นั้น - แต่เบราว์เซอร์ไม่อัปเดตเมื่อฉันส่งข้อมูลผ่านทางไพพ์ที่มีชื่อ

มีเบราว์เซอร์ที่ไม่ใช่ข้อความซึ่งจะแสดงผล html จาก stdin หรือไม่ ผลลัพธ์ไม่จำเป็นต้องมีความหรูหราฉันส่วนใหญ่ให้ความสนใจในการทำข้อมูลที่คั่นได้ง่ายขึ้นทันที

แก้ไข:

ฉันพยายามใช้การทดแทนกระบวนการของ bash เช่นfirefox <(sh /tmp/tablegen.sh)ที่ไม่ได้ผล สถานการณ์กรณีที่เลวร้ายที่สุดฉันสามารถส่งออกไปยังไฟล์ temp, render, แล้วลบ แต่ฉันต้องการทางออกที่สง่างามกว่าเล็กน้อย


1
คำถามที่คล้ายกันที่นี่: unix.stackexchange.com/questions/24931/…
wmz

ลิงค์ดี; ค่อนข้างดียืนยันว่าฉันสงสัยว่าการใช้ไฟล์ชั่วคราวเป็นวิธีเดียวที่จะไป
Barton Chittenden

คำตอบ:


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

สวัสดีตั้งแต่ปี 2019 การติดตั้งข้างต้นใช้งานsudo gem install bcatไม่ได้ :-)
roufamatic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.