Hola gente:
Buen año para todos antes que nada.
Resulta que quiero aislar el entero de la temperatura que me arroja el
comando sensors para los distintos cores...
wodari@debi5:~$ sensors | grep Core
Core 0: +38.0°C (high = +80.0°C, crit = +99.0°C)
Core 1: +40.0°C (high = +80.0°C, crit = +99.0°C)
Core 2: +41.0°C (high = +80.0°C, crit = +99.0°C)
Core 3: +46.0°C (high = +80.0°C, crit = +99.0°C)
... tomando de a una lÃnea por vez ...
wodari@debi5:~$ sensors | grep "Core 0"
Core 0: +38.0°C (high = +80.0°C, crit = +99.0°C)
De la lÃnea de arriba me interesa sólo el valor entero 37.
Con...
wodari@debi5:~$ sensors | grep "Core 0" | gawk '//{print $3}'
... obtengo +38.0°C
A lo bruto, y presuponiendo que el valor va ha ser siempre de 2 dÃgitos, la
hacÃa asÃ...
wodari@debi5:~$ sensors | grep "Core 0" | gawk '//{print substr($3,2,2)}'
38
... pero me parece más prolijo ubicar el "+" y el "." y obtener lo que queda
dentro.
Entonces hice lo siguiente...
wodari@debi5:~$ sensors | grep "Core 0" | gawk '//{print
substr($3,match($3,"+")+1,2)}'
38
... ubicando la posición del "+", sumo 1 y desde ahà se que está la
temperatura y tomo los 2 dÃgitos. Pero quisiera mejorarlo y obtener la
posición del "." porque si el valor fuera de 1 dÃgito o 3 dÃgitos esto ya no
funcionarÃa. Y aquà se me presenta el problema, cuando busco el "." con
match($3,".") me devuelve el valor 1 y en realidad deberÃa ser 4. Supongo
que debe ser un problema en la forma de indicarle el punto. ¿llevará algún
otro tipo de comillas para que lo interprete?
A cualquiera de los otros caracteres de la cadena "+38.0°C" los ubica bien,
con el "." no hay caso.
Bueno, espero que me entiendan y me den alguna idea.
Anticipadas gracias y saludos.
--
Walter O. Dari
http://swcomputacion.com/
skype: waomda
--
To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
Archive: [🔎] 50E7B6E7.60802@gmail.com">http://lists.debian.org/[🔎] 50E7B6E7.60802@gmail.com