要件は次のとおり。
- 整形されてないテキストがほしい
- 後にkakasiとかでローマ字に分解したいので、もともとASCII文字であるものを区別したい
他にももっとうまい手がありそうだけど、とりあえず以下で落ち着いた。
#! /bin/shw3m -dump_source $1 | nkf -w | sed -n -e "/<body.*>/!{x;/<body.*>/{x;\,</body>,{q};s/ / /g;s/<[^<>]*>//g;s,\([-0-9a-zA-Z ().!\"#$%&=^~\\|\`@{};:+*,<>/?_'[]]*\),<ASCII>\1</ASCII>,g;s,<ASCII></ASCII>,,g;s,</ASCII><ASCII>,,g;/^$/{d};p};d};/<body.*>/{h}"
実体参照の置換は他にも必要になるだろうけど、まあそれはそれで。
No comments:
Post a Comment