Есть ли простой инструмент Bash, который может быстро визуализировать основной HTML?

38

Время от времени мне нужно выполнять простую задачу, когда я выводю основной HTML в консоль. Я хотел бы сделать его минимально визуализированным, чтобы его было проще читать с первого взгляда. Есть ли утилита, которая может обрабатывать базовый HTML-рендеринг в оболочке (подумайте о рендеринге в стиле Lynx, но не в реальном браузере)?

Например, иногда я помещаю watchна mod_statusстранице Apache :

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

Результатом страницы является HTML с некоторой минимальной разметкой, которая отображается в оболочке следующим образом:

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

При просмотре в Lynx отображается тот же HTML-код, что и: Apache Status (p1 of 2) Apache Server Status для 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
источник
2
Не bashсовсем, но посмотрите Xiki , он делает это и даже больше
aarosil
Xiki выглядит потрясающе.
MountainX

Ответы:

50

lynxимеет режим «dump», который вы можете использовать с watch:

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

скриншот вывода

От 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.

Этот вопрос Ask Ubuntu имеет еще много вариантов.

Мур
источник
2
рысь великолепна Это также очень полезный инструмент, когда ваше соединение очень плохое, и вам нужно что-то проверить на сайте - нет изображений, сценариев или CSS для быстрой загрузки страницы
jammypeach
12

w3mэто другая программа, которая имеет --dumpопцию.

Это самый популярный веб-браузер Emacs.

Стивен Эдвардс
источник
8

Есть как минимум две программы с именем html2text( 1 ) ( 2 ), которые выполняют эту работу.

zwol
источник
Действительно, но - если доступно - вывод w3mнамного красивее esp. для столов.
Suuuehgi
5

elinksимеет -dumpрежим тоже

elinks -dump https://www.google.com
Мохсен
источник
Смотрите также, linksна чем elinksосновано. Та же команда работает ...