Solution 1 :
Perl est (comme toujours) votre ami. Je pense que ça va le faire :
perl -n -mHTML::Entities -e ' ; print HTML::Entities::decode_entities($_) ;'
Ex. :
echo '"test" & test $test ! test @ # $ % ^ & *' |perl -n -mHTML::Entities -e ' ; print HTML::Entities::decode_entities($_) ;'
Avec sortie :
[email protected] ~]$ echo '"test" & test $test ! test @ # $ % ^ & *' |perl -n -mHTML::Entities -e ' ; print HTML::Entities::decode_entities($_) ;'
"test" & test $test ! test @ # $ % ^ & *
Solution 2 :
PHP est bien adapté à cela. Cet exemple nécessite PHP 5 :
cat file.html | php -R 'echo html_entity_decode($argn);'
Solution 3 :
recode semble disponible sur les référentiels de packages par défaut des principales distributions GNU/Linux. Par exemple. pour décoder les entités HTML en UTF-8 :
…|recode html..utf8
Solution 4 :
Avec Python 3 :
python3 -c 'import html,sys; print(html.unescape(sys.stdin.read()), end="")' < file.html