在bash脚本中将HTML字符引用更改为utf-8即.ā 变成ā

5 bash utf-8 character-encoding

您将如何将包含以下字符引用的文档转换为bash脚本中的实际可读字符?

ā á ǎ à ē é ě è ī í ǐ ì ǖ ǘ ǚ ǜ ü ǖ ǘ ǚ ǜ ü
Run Code Online (Sandbox Code Playgroud)

这些改变是为了āáǎàēěěèíǐìǖǘǚǜǖǘǘǚǜü

vla*_*adr 3

如果您可以使用 Perl 那么它就相对简单:

\n\n
perl -ne \'binmode STDOUT,":utf8";s/&#([0-9]*);/pack("U",$1)/eg;print\' \\\n  document.html\n
Run Code Online (Sandbox Code Playgroud)\n\n

例子:

\n\n
#!/bin/bash\nhtml2utf8() {\n  perl -ne \'binmode STDOUT, ":utf8"; s/&#([0-9]*);/pack("U",$1)/eg; print\'\n}\necho \'testing 1 ā 2 Ĭ 3 ē\' | html2utf8\n
Run Code Online (Sandbox Code Playgroud)\n\n

生产:

\n\n
testing 1 \xc4\x81 2 \xc4\xac 3 \xc4\x93\n
Run Code Online (Sandbox Code Playgroud)\n