箱にはRuby/Python/Perl等はありません。
bash
、sed
、およびのみawk
。
文字をマップで置き換える方法もありますが、面倒です。
おそらく、私が認識していない組み込み機能がありますか?
箱にはRuby/Python/Perl等はありません。
bash
、sed
、およびのみawk
。
文字をマップで置き換える方法もありますが、面倒です。
おそらく、私が認識していない組み込み機能がありますか?
<
HTML をエスケープするには、実際には、>
、およびの3 つの文字を置き換えるだけ&
です。"
追加のポイントについては、とを置き換えることもできます'
。したがって、これは長いsed
スクリプトではありません。
sed 's/&/\&/g; s/</\</g; s/>/\>/g; s/"/\"/g; s/'"'"'/\'/g'
または、xmlstar Escape/Unescape 特殊 XML 文字を使用します。
$ echo '<abc&def>'| xml esc
<abc&def>
私はjqを使用しています:
$ echo "2 < 4 is 'TRUE'" | jq -Rr @html
2 < 4 is 'TRUE'
以前の sed 置換は、次のような有効な出力を汚します
<
の中へ
&lt;
「&」が「&」にのみ変更されるように、否定先読みを追加します。その「&」の後に「amp;」がまだ続いていない場合 以下を修正します。
sed 's/&(?!amp;)/\&/g; s/</\</g; s/>/\>/g; s/"/\"/g; s/'"'"'/\'/g'