如何将这些命令转换为在 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 位?

编辑:其中一个问题已经解决(谢谢steeldriver)。编辑标题以更具体地解决剩余问题。

答案1

awk在这些情况下通常很有用,因为它非常强大,可以替换几个命令:

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

$2表示行中的第二个单词(按空格分割)。%.3f是具有 3 位小数的浮点格式(在“.”之后)。

相关内容