私はこれを変える方法を探しています:
hello < world
これに:
hello < world
sedを使用することもできますが、不可解な正規表現を使用せずにこれを実現するにはどうすればよいですか?
私はこれを変える方法を探しています:
hello < world
これに:
hello < world
sedを使用することもできますが、不可解な正規表現を使用せずにこれを実現するにはどうすればよいですか?
コードを書き直してみてください(アーカイブされたページ; GitHub ミラー; Debian ページ):
$ echo '<' |recode html..ascii
<
Linux および同様の Unix-y システムにインストールします。
$ sudo apt-get install recode
以下を使用して Mac OS にインストールします。
$ brew install recode
パールの場合:
cat foo.html | perl -MHTML::Entities -pe 'decode_entities($_);'
コマンド ラインから php を使用する場合:
cat foo.html | php -r 'while(($line=fgets(STDIN)) !== FALSE) echo html_entity_decode($line, ENT_QUOTES|ENT_HTML401);'
別の方法として、次のように Web ブラウザを介してパイプする方法があります。
echo '!' | w3m -dump -T text/html
これは、ディストリビューションのダウンロードとインストールが難しい cygwin でうまく機能しました。
この答えはここで見つかりました
xmlstarlet の使用:
echo 'hello < world' | xmlstarlet unesc
Python 3.2 以降のバージョン:
cat foo.html | python3 -c 'import html, sys; [print(html.unescape(l), end="") for l in sys.stdin]'
macOS では、組み込みコマンドtextutil
(一般的に便利なユーティリティ) を使用できます。
echo '👋 hello < world 🌐' | textutil -convert txt -format html -stdin -stdout
出力:
hello < world
ザイデルと:
echo 'hello < : " world' | xidel -s - -e 'parse-html($raw)'
hello < : " world