Có một công cụ Bash đơn giản nào có thể nhanh chóng kết xuất HTML cơ bản không?


38

Thỉnh thoảng tôi cần thực hiện một nhiệm vụ đơn giản là tôi xuất HTML cơ bản vào bàn điều khiển. Tôi muốn có nó được hiển thị tối thiểu, để làm cho nó dễ đọc hơn trong nháy mắt. Có tiện ích nào có thể xử lý kết xuất HTML cơ bản trong trình bao (nghĩ về kết xuất kiểu Lynx - nhưng không phải là trình duyệt thực tế) không?

Ví dụ: đôi khi tôi sẽ đặt trang watchcủa Apache mod_status:

watch -n 1 curl http://some-server/server-status

Đầu ra của trang là HTML với một số đánh dấu tối thiểu, hiển thị trong trình bao như:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html><head>
<title>Apache Status</title>
</head><body>
<h1>Apache Server Status for localhost</h1>

<dl><dt>Server Version: Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.15 with Suhosin-Patch</dt>
<dt>Server Built: Jul 22 2014 14:35:25
</dt></dl><hr /><dl>
<dt>Current Time: Wednesday, 19-Nov-2014 15:21:40 UTC</dt>
<dt>Restart Time: Wednesday, 19-Nov-2014 15:13:02 UTC</dt>
<dt>Parent Server Generation: 1</dt>
<dt>Server uptime:  8 minutes 38 seconds</dt>
<dt>Total accesses: 549 - Total Traffic: 2.8 MB</dt>
<dt>CPU Usage: u35.77 s12.76 cu0 cs0 - 9.37% CPU load</dt>
<dt>1.06 requests/sec - 5.6 kB/second - 5.3 kB/request</dt>
<dt>1 requests currently being processed, 9 idle workers</dt>
</dl><pre>__W._______.....................................................
................................................................
................................................................
................................................................
</pre>
<p>Scoreboard Key:<br />
"<b><code>_</code></b>" Waiting for Connection,
"<b><code>S</code></b>" Starting up,
"<b><code>R</code></b>" Reading Request,<br />
"<b><code>W</code></b>" Sending Reply,
"<b><code>K</code></b>" Keepalive (read),
"<b><code>D</code></b>" DNS Lookup,<br />
"<b><code>C</code></b>" Closing connection,
"<b><code>L</code></b>" Logging,
"<b><code>G</code></b>" Gracefully finishing,<br />
"<b><code>I</code></b>" Idle cleanup of worker,
"<b><code>.</code></b>" Open slot with no current process</p>
<p />

Khi được xem trong Lynx, HTML tương tự được hiển thị là: Trạng thái Apache (p1 trên 2) Trạng thái máy chủ Apache cho localhost

   Server Version: Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.15 with Suhosin-Patch
   Server Built: Jul 22 2014 14:35:25
     ________________________________________________________________________________________________________

   Current Time: Wednesday, 19-Nov-2014 15:23:50 UTC
   Restart Time: Wednesday, 19-Nov-2014 15:13:02 UTC
   Parent Server Generation: 1
   Server uptime: 10 minutes 48 seconds
   Total accesses: 606 - Total Traffic: 3.1 MB
   CPU Usage: u37.48 s13.6 cu0 cs0 - 7.88% CPU load
   .935 requests/sec - 5088 B/second - 5.3 kB/request
   2 requests currently being processed, 9 idle workers

_C_______W_.....................................................
................................................................
................................................................
................................................................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process

2
Không bashchính xác, nhưng hãy xem Xiki , nó làm điều đó và hơn thế nữa
aarosil

xiki trông thật tuyệt
MountainX

Câu trả lời:


50

lynxcó chế độ "kết xuất" mà bạn có thể sử dụng với watch:

$ watch lynx https://www.google.com -dump

ảnh chụp màn hình đầu ra

Từ man lynx:

   -dump  dumps  the  formatted  output  of  the default document or those
          specified on  the  command  line  to  standard  output.   Unlike
          interactive mode, all documents are processed.  This can be used
          in the following way:

          lynx -dump http://www.subir.com/lynx.html

          Files specified on the command line are  formatted  as  HTML  if
          their  names  end  with one of the standard web suffixes such as
          “.htm or “.html”.  Use the -force_html option to  format  files
          whose names do not follow this convention.

Câu hỏi Ask Ubuntu này có nhiều tùy chọn hơn.


2
lynx là tuyệt vời. Đây cũng là một công cụ thực sự hữu ích khi kết nối của bạn rất tệ và bạn cần kiểm tra một trang web để tìm thứ gì đó - không có hình ảnh, tập lệnh hoặc css nào để tải trang nhanh
jammypeach

12

w3mlà một chương trình khác có một --dumptùy chọn.

Đây là trình duyệt web phổ biến nhất của Emacs.


8

Có ít nhất hai chương trình có tên html2text( 1 ) ( 2 ) thực hiện công việc này.


Thật vậy nhưng - nếu có sẵn - đầu ra của w3mđặc biệt đẹp hơn nhiều. cho các bảng.
Suuuehgi

5

elinkscũng có -dumpchế độ

elinks -dump https://www.google.com

Xem thêm linksdựa trên đó elinks. Lệnh tương tự hoạt động ...
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.