Hola Johnnatan...
El 05/01/13 02:23, Johnnatan Malpica escribió:
2013/1/5 Walter O. Dari<[email protected]>:
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 [email protected]
with a subject of "unsubscribe". Trouble? Contact
[email protected]
Archive: http://lists.debian.org/[email protected]
Hola a todos y feliz año tambien..
He contribuido poco en la lista..
Yo lo haria de esta forma:
sensors | cut -d "." -f 1 | cut -d "+" -f 2
Si no resuelve tu problema. disculpa.. pues no te comprendà bien y
esto hace lo que pides y es lo que se me ha ocurrido.
sensors | grep "Core 0" | cut -d "." -f 1 | cut -d "+" -f 2
Perfecto, te agradezco mucho.
Mis disculpas a todos si no bindo solución a tu problema.. pues no
recuerdo si especificamente querias emplear awk
No hay problemas, pero me gustaría saber porque me "falla" awk con el
tema del punto.
La realidad es que estoy creando unas métricas para ganglia y para
obtener el espacio libre de algunas particiones estaba usando awk, es
mucho más sencillo porque la cantidad de bloques es un número entero sin
más ni más. Pero con la temperatura se me había complicado por los
caracteres adicionales a los números: "+.Cº".
Avisame para ayudarte.
Ya me has ayudado.
Saludos y Exito
Muchas gracias nuevamente y saludos !
--
Johnnatan Malpica
--
Walter O. Dari
http://swcomputacion.com/
skype: waomda
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]