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

时间:2009-02-23 04:27:03

标签: bash utf-8 character-encoding

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

ā á ǎ à ē é ě è ī í ǐ ì ǖ ǘ ǚ ǜ ü ǖ ǘ ǚ ǜ ü

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

2 个答案:

答案 0 :(得分:3)

如果您可以访问Perl,那么它相对简单:

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

示例:

#!/bin/bash
html2utf8() {
  perl -ne 'binmode STDOUT, ":utf8"; s/&#([0-9]*);/pack("U",$1)/eg; print'
}
echo 'testing 1 &#257; 2 &#300; 3 &#275;' | html2utf8

产地:

testing 1 ā 2 Ĭ 3 ē

答案 1 :(得分:1)

如果你正在寻找一种bash唯一的方法,看起来这个帖子中有一些解决方案:http://forums.gentoo.org/viewtopic-t-820377-view-previous.html?sid=b35246f20410ba95ee048970d01ac6b3