Hola (disculpas por el top-posting): Descubrí el problema con awk.
En lugar de match($3,".") hay que usar match($3,"\\."), evidentemente el punto es un caracter reservado o algo por el estilo, por lo tanto hay que "escaparlo". Lo había intentado con una sola \, pero finalmente averigüé que era con dos: \\
Saludos ! 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. Mis disculpas a todos si no bindo solución a tu problema.. pues no recuerdo si especificamente querias emplear awk Avisame para ayudarte. Saludos y Exito -- 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]

