Renderiza texto simples e saída HTML de um comando em um terminal

1

Estou usando o SDcv , Collins Cobuild 5 é o dicionário, que gera html, como:

    # czxyl @ archlinux in ~/Dropbox [12:57:27] C:16
$ sdcv hello               
Found 7 items, similar to hello.
-->CMU American English spelling
-->hello

[hə'ləu]

-->dictd_www.dict.org_gcide
-->Hello

Hello \Hel*lo"\, interj. & n.
   An exclamation used as a greeting, to call attention, as an
   exclamation of surprise, or to encourage one. This variant of
   {Halloo} and {Holloo} has become the dominant form. In the
   United States, it is the most common greeting used in
   answering a telephone.
   [1913 Webster +PJC]


-->WordNet
-->hello

hello
     n : an expression of greeting; "every morning they exchanged
         polite hellos" [syn: {hullo}, {hi}, {howdy}, {how-do-you-do}]

-->Webster's Revised Unabridged Dictionary (1913)
-->Hello

Hello \Hel*lo"\, interj. & n.
   See {Halloo}.

-->牛津现代英汉双解词典
-->hello

= hallo.

-->Longman Dictionary of Contemporary English
-->hello

S1   interjection, n  also  hallo, hullo BrE  [C]   [Date: 1800-1900; Origin: hollo a shout to call attention  (16-19 centuries)]//
  1 used as a greeting when you see or meet someone:  --Hello, John! How are you?//  --Stanley, come and say hello to your nephew.//  --Well, hello there ! I haven't seen you for ages.//
  2 used when answering the telephone or starting a telephone conversation:  --Hello - may I speak to Anne?//
  3 used when calling to get someone's attention:  --Hello! Is there anybody home?//
  4 used when you think someone is not acting sensibly or has said something stupid:  --You didn't remember her birthday? Hello!//
  5  BrE used to show that you are surprised or confused by something:  --Hello! What's happened here?//
  6  say hello:  to have a quick conversation with someone//  --Promise you'll look in and say hello when you have time.//

-->Collins Cobuild 5
-->golden hello

<b>gold|en hel|lo</b> <b>(golden hellos)</b><br><FONT COLOR="#007000">[N-COUNT]</FONT><br>  A <b>golden hello</b> is a sum of money that a company offers to a person in order to persuade them to join the company. (BUSINESS)<br>  ● <font color="#004080"><i>Most people recognise the need to pay a golden hello to attract the best.</i></font><hr>

Espero ver:

EDITAR:

Como a saída contém os códigos plain text e html ( Collins Cobuild 5 fornece html output, outros fornecem plain text , desejo renderizar apenas html segmentos. Minha solução está redirecionando o stdout ao markdown local (se ao local html file, plain texts será reunido), use pandoc render markdown to html , elink -dump local-html to stdout Os códigos estão em minha própria resposta. / p>     

por 陳 力 15.04.2018 / 07:08

2 respostas

1

Use um navegador em modo de texto, como w3m ou lynx . Retire o prefixo não HTML e diga ao navegador que isso é HTML (o lynx assume isso, mas o w3m não, porque isso é um fragmento de HTML, não um documento completo). Diga ao navegador para despejar na tela em vez de mostrar uma interface interativa.

$ /usr/bin/sdcv counterpart | awk '/^</ {p=1} p' | w3m -T text/html -dump
◆ counter|part /k'aʊntə^rpɑː^rt/ (counterparts)
[N-COUNT] with supp, usu poss N
Someone's or something's counterpart is another person or thing that has a
similar function or position in a different place.
● The Foreign Secretary telephoned his Italian counterpart to protest.
$ /usr/bin/sdcv counterpart | awk '/^</ {p=1} p' | lynx -stdin -dump
   ◆ counter|part /k'aʊntə^rpɑː^rt/ (counterparts)
   [N-COUNT] with supp, usu poss N
   Someone's or something's counterpart is another person or thing that
   has a similar function or position in a different place.
   ● The Foreign Secretary telephoned his Italian counterpart to protest.
     __________________________________________________________________
    
por 15.04.2018 / 23:13
0

Eu resolvi o problema com pandoc e elinks : salve a saída (stdout) como arquivo markdown, use pandoc render md para o arquivo html, renderize o arquivo html local com elink -dump finalmente. Abaixo está meu script:

#tt.sh
/usr/bin/sdcv $1 > /home/czxyl/Documents/firstlove.md
pandoc /home/czxyl/Documents/firstlove.md -o /home/czxyl/Documents/firstlove.html
elinks -dump /home/czxyl/Documents/firstlove.html
rm /home/czxyl/Documents/firstlove.html /home/czxyl/Documents/firstlove.md
alias def='. tt.sh'
# czxyl @ archlinux in ~ [0:22:34] 
$ def hello
   Found 7 items, similar to hello. –>CMU American English spelling –>hello

   [hə’ləu]

   –>dictd_www.dict.org_gcide –>Hello

   Hello lo“, interj. & n. An exclamation used as a greeting, to call
   attention, as an exclamation of surprise, or to encourage one. This
   variant of {Halloo} and {Holloo} has become the dominant form. In the
   United States, it is the most common greeting used in answering a
   telephone. [1913 Webster +PJC]

   –>WordNet –>hello

   hello n : an expression of greeting; “every morning they exchanged polite
   hellos” [syn: {hullo}, {hi}, {howdy}, {how-do-you-do}]

   –>Webster’s Revised Unabridged Dictionary (1913) –>Hello

   Hello lo“, interj. & n. See {Halloo}.

   –>牛津现代英汉双解词典 –>hello

   = hallo.

   –>Longman Dictionary of Contemporary English –>hello

   S1 interjection, n also hallo, hullo BrE [C] [Date: 1800-1900; Origin:
   hollo a shout to call attention (16-19 centuries)]// 1 used as a greeting
   when you see or meet someone: –Hello, John! How are you?// –Stanley, come
   and say hello to your nephew.// –Well, hello there ! I haven’t seen you
   for ages.// 2 used when answering the telephone or starting a telephone
   conversation: –Hello - may I speak to Anne?// 3 used when calling to get
   someone’s attention: –Hello! Is there anybody home?// 4 used when you
   think someone is not acting sensibly or has said something stupid: –You
   didn’t remember her birthday? Hello!// 5 BrE used to show that you are
   surprised or confused by something: –Hello! What’s happened here?// 6 say
   hello: to have a quick conversation with someone// –Promise you’ll look in
   and say hello when you have time.//

   –>Collins Cobuild 5 –>golden hello

   gold|en hel|lo (golden hellos)
   [N-COUNT]
   A golden hello is a sum of money that a company offers to a person in
   order to persuade them to join the company. (BUSINESS)
   ● Most people recognise the need to pay a golden hello to attract the
   best.

   ══════════════════════════════════════════════════════════════════════════

# czxyl @ archlinux in ~ [0:22:40] 
$ 
    
por 16.04.2018 / 01:54