Измените ссылки на символы HTML на utf-8 в bash-скрипте, т.е. А становится А - PullRequest
5 голосов
/ 23 февраля 2009

Как вы будете переводить документ, который содержит следующие ссылки на символы для их реальных читаемых символов в скрипте bash?

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

Они изменяются для того, чтобы 100 ǎ à ē é è è ī í î î î ǘ ǘ ǚ ǜ ü ǖ ǘ ǚ ü ü

Ответы [ 2 ]

3 голосов
/ 23 февраля 2009

Если у вас есть доступ к 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 ā 2 Ĭ 3 ē' | html2utf8

Производит:

testing 1 ā 2 Ĭ 3 ē
1 голос
/ 18 июля 2010

Если вы ищете способ сделать это только для bash, похоже, в этой теме есть несколько решений: http://forums.gentoo.org/viewtopic-t-820377-view-previous.html?sid=b35246f20410ba95ee048970d01ac6b3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...