¿Existe una herramienta Bash simple que pueda representar rápidamente HTML básico?

38

De vez en cuando necesito hacer una tarea simple en la que imprimo HTML básico en la consola. Me gustaría tener una representación mínima, para que sea más fácil de leer de un vistazo. ¿Existe una utilidad que pueda manejar la representación básica de HTML en el shell (piense en la representación de estilo Lynx , pero no en un navegador real)?

Por ejemplo, a veces pongo un watchen la mod_statuspágina de Apache :

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

El resultado de la página es HTML con un marcado mínimo, que se muestra en el 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 />

Cuando se ve en Lynx, el mismo HTML se representa como: Estado de Apache (p1 de 2) Estado del servidor Apache para 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
STW
fuente
2
No bashexactamente, pero echa un vistazo a Xiki , hace eso y más
aarosil
Xiki se ve increíble.
MountainX

Respuestas:

50

lynxtiene un modo de "volcado", que puede usar con watch:

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

captura de pantalla de salida

De 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.

Esta pregunta Ask Ubuntu tiene muchas más opciones.

muru
fuente
2
Lynx es genial. también es una herramienta muy útil cuando la conexión es muy mala y hay que ir a ver un sitio para algo - no hay imágenes, scripts o marcas css para una carga rápida página
jammypeach
12

w3mEs otro programa que tiene una --dumpopción.

Es el navegador web más popular de Emacs.

Steven Edwards
fuente
8

Hay al menos dos programas llamados html2text( 1 ) ( 2 ) que hacen este trabajo.

zwol
fuente
De hecho, pero, si está disponible, la salida de w3mes mucho más hermosa especialmente. para mesas.
Suuuehgi el
5

elinkstiene -dumpmodo también

elinks -dump https://www.google.com
Mohsen
fuente
Vea también linksen qué elinksse basa. El mismo comando funciona ...