• Publicidad

No logro sacar el % de CPU

¿Eres administrador de sistemas? Este foro es para todos aquellos temas relacionados con el uso de Perl para administración de sistemas.

No logro sacar el % de CPU

Notapor javierg » 2006-10-17 05:33 @273

Buenas, ejecuto la siguiente instrucción
Código: Seleccionar todo
df -k /var
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t0d0s0    7672769 4818006 2778036    64%    /

guardo en una variable
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$texto=/dev/dsk/c0t0d0s0    7672769 4818006 2778036    64%    /
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Ahora mi idea es conseguir sólo el valor de CPU, que es el 64, pero me es imposible, eso sí, sin el %, sólo el valor.

He probado con expresiones regulares, pero el resutado me da vacío, y otras ni me funciona, comparando como una subcadena, no logro sacar el 64.
Un poco de ayuda, please
javierg
Perlero nuevo
Perlero nuevo
 
Mensajes: 48
Registrado: 2006-10-17 05:26 @268

Publicidad

Notapor explorer » 2006-10-17 06:03 @294

A ver... primero... ese 64% no se refiere a la CPU, sino al porcentaje de ocupación del disco en la partición /dev/dsk/c0t0d0s0: 4818006 / 7672769 ~ 0.64.

Ahora, si lo que quieres es sacar ese valor, puedes hacerlo en Perl de varias formas. Lo que sí veo en tu asignación es que te faltan las comillas simples:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$texto='/dev/dsk/c0t0d0s0    7672769 4818006 2778036    64%    /';
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Con expresiones regulares:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
($ocupado) = $texto =~ /(\d+)%/; # 64
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
(es decir, nos quedamos con los dígitos que acompañan al símbolo '%').

Con split:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$ocupado = (split " ", $texto)[4]; # 64%
$ocupado = substr($ocupado,0,length($ocupado)-1); # 64
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Algo más extraño:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$ocupado = 0+substr($texto, index($texto,"%")-3,3); # 64
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Con un módulo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Filesys::Df;
my $ref = df("/dev/dsk/c0t0d0s0");
$ocupado = $ref->{per};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Administración

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados