De tempos em tempos, preciso executar uma tarefa simples na qual produzo HTML básico no console. Eu gostaria que fosse renderizado minimamente, para facilitar a leitura rápida. Existe um utilitário que possa lidar com a renderização HTML básica no shell (pense na renderização no estilo Lynx - mas não em um navegador real)?
Por exemplo, às vezes eu coloco um watch
na mod_status
página do Apache :
watch -n 1 curl http://some-server/server-status
A saída da página é HTML com alguma marcação mínima, que é mostrada no shell como:
<!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 />
Quando exibido no Lynx, o mesmo HTML é renderizado como: Status do Apache (p1 de 2) Status do servidor Apache para host local
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
shell
command-line
html
STW
fonte
fonte
bash
exatamente, mas confira Xiki , ele faz isso e muito maisRespostas:
lynx
tem um modo "despejo", que você pode usar comwatch
:De
man lynx
:Esta pergunta Ask Ubuntu tem muito mais opções.
fonte
w3m
é outro programa que tem uma--dump
opção.É o navegador da web mais popular do Emacs back-end.
fonte
Existem pelo menos dois programas chamados
html2text
( 1 ) ( 2 ) que fazem esse trabalho.fonte
w3m
é muito mais bonita esp. para mesas.elinks
tem-dump
modo tambémfonte
links
em queelinks
se baseia. O mesmo comando funciona ...