Que tal: tlp-stat -t | head -4 | tail -1 |cut -c29-30
Eu instalei tlp no meu sistema para evitar laptop sobre aquecimento e eu usei esse código para recuperar a temperatura da CPU atual.
tlp-stat -t
a saída do comando acima é algo assim:
--- TLP 0.7 --------------------------------------------
+++ Temperatures
CPU temp = 47 [°C]
Fan speed = (not available)
você pode me dizer como eu posso recuperar apenas a parte inteira dessa saída (ou seja, 47). Tentei usar o comando de corte, mas não consigo encontrar um resultado ideal.
este é o comando cut que eu usei
tlp-stat -t | cut -d= -f2
e a saída é
--- TLP 0.7 --------------------------------------------
+++ Temperatures
49 [°C]
(not available)
Como refinar meu comando cut
para obter apenas o valor inteiro de dois dígitos?
Que tal: tlp-stat -t | head -4 | tail -1 |cut -c29-30
com o awk:
... | awk '/CPU temp/ {print $4}'
com grep:
... | grep -oP '^CPU temp.*=.* \K[0-9]+'
com sed:
... | sed -nE 's/^CPU temp.*=.* ([0-9]+).*//p'