conky 파일에서 작동하도록 이 명령을 어떻게 변환할 수 있나요?

conky 파일에서 작동하도록 이 명령을 어떻게 변환할 수 있나요?

제가 만들고 있는 것은 conky 위젯이고 이를 표시하기 위해 마더보드의 센서 칩에서 전압 판독값을 얻으려고 합니다. 전압 판독값을 얻고 이를 다음과 같은 위젯에 표시합니다.

${execi 1 sensors -u | grep -w 'in6_input'|cut -c 14-32}

그러면 해당 입력 행의 값(예: )이 올바르게 반환됩니다 2.032. 그러나 이는 칩의 입력이 4V 이상의 전압을 직접 처리할 수 없기 때문에 마더보드의 전압 분배기 출력에 대한 기준 전압입니다. 불행하게도 이 마더보드는 계산을 수행하지 않고 실제 전압 판독값으로 전송합니다. 그래서 계산을 해서 12.1V(대략 BIOS에 표시된 값)로 되돌려야 합니다.

다음과 같이 명령 프롬프트를 통해 수학 계산을 수행할 수 있습니다.

~$ twelve=$(sensors -u | grep -w "in6_input"|cut -c 14-32)
~$ echo "scale=3;$twelve*(67300/11300)" | bc -l
12.148

그래서 내가 묻는 건

  1. 가능하다면 어떻게 이것을 conky 템플릿에 통합할 수 있나요? **그리고
  2. 출력에 소수점 3자리만 표시되도록 하려면 어떻게 해야 합니까?

편집하다:문제 중 하나가 해결되었습니다(스틸드라이버에게 감사드립니다). 남은 문제를 보다 구체적으로 해결하기 위해 제목을 편집했습니다.

답변1

awk매우 강력하고 여러 명령을 대체할 수 있으므로 이러한 상황에서 종종 유용합니다.

${execi 1 sensors -u | awk '/in6_input:/{printf "%.3f",$2*(67300/11300)}'}

$2줄의 두 번째 단어를 나타냅니다(공백으로 구분). %.3f소수점 이하 3자리("." 뒤)가 있는 부동 소수점 형식입니다.

관련 정보