GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso convertire facilmente entità speciali HTML da un flusso di input standard in Linux?

Soluzione 1:

Perl è (come sempre) tuo amico. Penso che questo lo farà:

perl -n -mHTML::Entities -e ' ; print HTML::Entities::decode_entities($_) ;'

Ad esempio:

echo '"test" & test $test ! test @ # $ % ^ & *' |perl -n -mHTML::Entities -e ' ; print HTML::Entities::decode_entities($_) ;'

Con output:

[email protected] ~]$ echo '"test" & test $test ! test @ # $ % ^ & *' |perl -n -mHTML::Entities -e ' ; print HTML::Entities::decode_entities($_) ;'
"test" & test $test ! test @ # $ % ^ & *

Soluzione 2:

PHP è adatto a questo. Questo esempio richiede PHP 5:

cat file.html | php -R 'echo html_entity_decode($argn);'

Soluzione 3:

recode sembra disponibile sui repository di pacchetti predefiniti delle principali distribuzioni GNU/Linux. Per esempio. per decodificare le entità HTML in UTF-8 :

…|recode html..utf8

Soluzione 4:

Con Python 3:

python3 -c 'import html,sys; print(html.unescape(sys.stdin.read()), end="")' < file.html

Linux
  1. Linux:come eseguire un bootloader da Linux?

  2. Come posso collegare simbolicamente un file in Linux?

  3. Come convertire l'output della shell di Linux in HTML?

  4. Come posso trovare un file specifico da un terminale Linux?

  5. Come faccio a leggere sed dall'input standard?

Come eseguire comandi dall'input standard utilizzando Tee e Xargs in Linux

Come convertire facilmente i tuoi video su Linux

Come convertire CentOS Linux 8 in CentOS Stream [2 passaggi]

Come migrare a CentOS Stream 8 da CentOS Linux 8

Come convertire i formati di file con Pandoc in Linux [Guida rapida]

Come convertire una pagina Web in PDF in Linux