이 시스템은 현재 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은 단일 바이트 문자만 완전히 지원합니다"라고 표시됩니다.