GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu snadno převést speciální entity HTML ze standardního vstupního proudu v Linuxu?

Řešení 1:

Perl je (jako vždy) váš přítel. Myslím, že to bude stačit:

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

Např.:

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

S výstupem:

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

Řešení 2:

PHP se k tomu dobře hodí. Tento příklad vyžaduje PHP 5:

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

Řešení 3:

recode se zdá být dostupné ve výchozích repozitářích balíčků hlavních distribucí GNU/Linuxu. Např. k dekódování entit HTML do UTF-8 :

…|recode html..utf8

Řešení 4:

S Pythonem 3:

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

Linux
  1. Jak převést z CentOS Linux 8 na CentOS Stream 8

  2. Jak mohu symbolicky propojit soubor v Linuxu?

  3. Jak převést výstup shellu Linuxu do HTML?

  1. Jak mohu převést mezery na karty ve Vimu nebo Linuxu?

  2. Jak mohu odstranit jenkins úplně z linuxu

  3. Jak mohu migrovat instalaci Linuxu z HDD na SSD?

  1. Linux – Jak spustit bootloader z Linuxu?

  2. Jak najdu konkrétní soubor z terminálu Linux?

  3. Jak mohu skrýt výstup shellové aplikace v Linuxu?