Czy istnieje proste narzędzie Bash, które może szybko renderować podstawowy HTML?

38

Od czasu do czasu muszę wykonać proste zadanie, w którym wypisuję podstawowy kod HTML do konsoli. Chciałbym, aby był minimalnie renderowany, aby ułatwić czytanie na pierwszy rzut oka. Czy istnieje narzędzie do obsługi podstawowego renderowania HTML w powłoce (pomyśl o renderowaniu w stylu Lynx - ale nie o prawdziwej przeglądarce)?

Na przykład czasami umieszczam watchna mod_statusstronie Apache :

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

Dane wyjściowe strony to HTML z minimalnymi znacznikami, które są wyświetlane w powłoce, takie jak:

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

Podczas przeglądania w Lynx ten sam HTML jest renderowany jako: Status Apache (p1 z 2) Status serwera Apache dla 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
źródło
2
Nie do bashkońca, ale sprawdź Xiki , robi to i więcej
aarosil
xiki wygląda niesamowicie.
MountainX

Odpowiedzi:

50

lynxma tryb „zrzutu”, którego można używać z watch:

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

zrzut ekranu wyjścia

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

To pytanie zadaj Ubuntu ma wiele innych opcji.

muru
źródło
2
Ryś jest świetny. jest to również bardzo przydatne narzędzie, gdy twoje połączenie jest bardzo złe i musisz coś sprawdzić na stronie - brak obrazów, skryptów lub css powoduje szybkie ładowanie strony
jammypeach
12

w3mto inny program, który ma --dumpopcję.

Jest to najpopularniejsza przeglądarka internetowa Emacsa.

Steven Edwards
źródło
8

Istnieją co najmniej dwa programy o nazwie html2text( 1 ) ( 2 ), które wykonują to zadanie.

zwol
źródło
Rzeczywiście, ale - jeśli są dostępne - wynik w3mjest znacznie piękniejszy. do stołów.
Suuuehgi,
5

elinksma -dumpteż tryb

elinks -dump https://www.google.com
Mohsen
źródło
Zobacz także, linksna czym elinkssię opiera. To samo polecenie działa ...