Existe-t-il un simple outil Bash capable de restituer rapidement le code HTML de base?

38

De temps en temps, je dois effectuer une tâche simple dans laquelle je produis du code HTML de base dans la console. Je voudrais avoir un rendu minimal, pour le rendre plus facile à lire en un coup d'œil. Existe-t-il un utilitaire capable de gérer le rendu HTML de base dans le shell (pensez au rendu de style Lynx - mais pas à un navigateur réel)?

Par exemple, parfois je mets un watchsur la mod_statuspage d'Apache :

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

La sortie de la page est HTML avec un minimum de balisage, ce qui apparaît dans le shell comme suit:

<!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 />

Lorsque visualisé dans Lynx, le même code HTML est rendu sous la forme suivante: Statut Apache (p1 sur 2) Statut du serveur Apache pour 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
la source
2
Pas bashexactement, mais consultez Xiki , c'est ce qu'il fait et plus encore
aarosil
xiki est génial.
MountainX

Réponses:

50

lynxa un mode "dump", que vous pouvez utiliser avec watch:

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

capture d'écran de la sortie

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.

Cette question Ask Ubuntu a beaucoup plus d'options.

muru
la source
2
le lynx est génial. c'est aussi un outil vraiment utile lorsque votre connexion est très mauvaise et que vous devez aller vérifier quelque chose sur un site - pas d'images, de scripts ou de fichiers CSS pour un chargement de page rapide
jammypeach
12

w3mest un autre programme qui a une --dumpoption.

C'est le navigateur Web le plus populaire du back-end d'Emacs.

Steven Edwards
la source
8

Il existe au moins deux programmes nommés html2text( 1 ) ( 2 ) qui font ce travail.

zwol
la source
En effet mais - si disponible - la sortie de w3mest beaucoup plus belle esp. pour les tables.
Suuuehgi
5

elinksa -dumpaussi le mode

elinks -dump https://www.google.com
Mohsen
la source
Voir aussi linkssur lequel elinksest basé. Même commande fonctionne ...