From time to time I need to do a simple task where I output basic HTML into the console. I'd like to have it minimally rendered, to make it easier to read at a glance. Is there a utility which can handle basic HTML rendering in the shell (think of Lynx-style rendering–but not an actual browser)?
For example, sometimes I'll put a watch
on Apache's mod_status
page:
watch -n 1 curl http://some-server/server-status
The output of the page is HTML with some minimal markup, which shows in the shell like:
<!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 />
When viewed in Lynx the same HTML is rendered as:
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
Best Answer
lynx
has a "dump" mode, which you can use withwatch
:From
man lynx
:This Ask Ubuntu question has many more options.