On Fri, 10 Sep 2004 20:33:11 +0200, I�aki <[EMAIL PROTECTED]> wrote:
> Hola a todos,
> 
> Estoy intentando pulir el tema de karamba de mi escritorio. Entro otras cosas
> tengo un campo para visualizar el total descargado de internet desde que se
> arranc� el sistema. Ahora mismo lo obtengo as�:
> 
>  /sbin/ifconfig eth0 | grep 'RX byte' | awk '{print $7 $8}'
> 
> Y la salida de esta concatenaci�n de comandos y tuber�as es (a modo de
> ejemplo):
> 
>  (58.2MiB)
> �
>  (750.5KiB)
> �
>  (1.2GiB)
> 
> Lo que pretendo es quitar los par�ntesis, la "i" de las unidades y separar el
> valor num�rico de las unidades. Es decir:
> 
>  58.2 MB
>  750.5 KB
>  1.2 GB

Bueno, El sistema internacional de medidas Dice que se ha de emplear
GiB cuando son GiB y GB cuando son GB. Me explico: no es lo mismo 90�
que 90 radianes. Por lo que considero que es un mal cambio el quitar
la 'i'

Independientemente de ello, yo te recomendar�a como se ha dicho que
usases perl para
todo el proceso. Perl se construyo para sustituir awk, sed y grep
(entre otros) y hacerlo todo de forma m�s sencilla.

Ahora no tengo ningun ifconfig ni ningun perl a mano (si dentro de un
rato no dan una
soluci�n m�s simple de las que hay puestas te pongo mi soluci�n), pero todo los
pipes se pueden sustituir por algo del estilo...

/sbin/ifconfig eth0 | perl -en "print if s/.*RX
byte'.*\(([0-9.]+)([KGM]iB)\).*/$1 $2\n/"

> �Alguna ayuda? Muchas gracias de antemano.

Yo aprender�a un poquito de perl  ;-) 

http://www.merelo.net/tutoperl/indice.html (en una tarde podr�s
entender y construir expresiones como la de arriba).

Responder a