Shell
有沒有可以快速渲染基本 HTML 的簡單 Bash 工具?
有時我需要做一個簡單的任務,將基本的 HTML 輸出到控制台。我希望將其渲染得最少,以便一目了然。是否有可以在 shell 中處理基本 HTML 渲染的實用程序(想想Lynx風格的渲染——但不是實際的瀏覽器)?
例如,有時我會
watch
在 Apache 的mod_status
頁面上放一個:watch -n 1 curl http://some-server/server-status
頁面的輸出是帶有一些最小標記的 HTML,在 shell 中顯示如下:
<!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 />
在 Lynx 中查看時,相同的 HTML 呈現為:Apache Status (p1 of 2) Apache Server Status for 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
lynx
有一個“轉儲”模式,您可以使用它watch
:$ watch lynx https://www.google.com -dump
來自
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.
這個Ask Ubuntu 問題有更多選擇。