このシステムは、現在Raspbian "buster"を実行しているRaspberry Piです。
次の方法を使用してCPU温度を取得できます。
$ vcgencmd measure_temp
temp=53.0'C
以下を使用して'
置き換えることができます。°
sed
$ vcgencmd measure_temp | sed "s/'/°/"
temp=52.0°C
tr
しかし、私は「より軽い」代替として見えるものを使用してこれを行うことを好みますsed
。
私は以下を試しましたtr
:
$ vcgencmd measure_temp | tr ' ° # nope
$ vcgencmd measure_temp | tr \' \° # nope
temp=53.0�C
# Yet, this works:
$ vcgencmd measure_temp | tr \' d
temp=52.0dC
$
私は何を見逃していますか?度記号に特別な注意が必要ですか?
答え1
度を引用すると機能しますtr
。
$ vcgencmd measure_temp | tr \' '°'
編集:私はテストしたばかりで、tr
ちょっと変なようです。
$ echo "asdf'" | tr \' '°'
asdf�
$ TEST="asdf'"; echo ${TEST/\'/°}
asdf°
注:上記のシェル文字列操作は、すべてのシェルソルバーで機能するわけではありません。私はそれがbashで動作することを知っています。 @fra-sanは少なくともksh93、mksh、yash、zshで動作すると言いました。だから、もともと思ったより携帯性が良いです。
最後に、上記の@fra-sanさんのコメントに基づいて、現在のCoreutilsドキュメントそれでも、「現在のtrはシングルバイト文字のみを完全にサポートしています」と表示されます。