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).