HTML Escape Converter by Shell
HTMLのエスケープ文字、昔は とか > とかを使用していたが、HTML Codes - Table of ascii characters and symbols
によればこれは HTML Name と呼ばれるもので、これと別にHTML Number というのがあるようだ。HTML Name は一部の文字にしか割り当てられていないが、HTML Number というのはほぼ全てのASCII文字に割り当てられていそう。どうせならこっちを使う方がよさそうなので、HTML Number でエスケープすることにした。
問題は、過去に作成したHTMLではHTML Nameを使用していること。EmacsLispとかで文字変換させたりしているので、そのような場合に面倒になるかもしれない。というわけで、これらを置き換えることを考える。sed を使えばできそうなのでやってみる。Bash で二次元配列を使いたいので、ついでにそのサンプルにもなる。とりあえずは二次元配列。
PAIRS=('  ' '< <' '> >' '& &' '" "') for i in "${PAIRS[@]}" do PAIR=(${i[@]}); echo ${PAIR[0]}; echo ${PAIR[1]}; done
実行結果は以下。
$ PAIRS=('  ' '< <' '> >' '& &' '" "') $ for i in "${PAIRS[@]}" > do > PAIR=(${i[@]}); > echo ${PAIR[0]}; > echo ${PAIR[1]}; > done   < < > > & & " "