* Cuenta la leyenda que Emilio J. Padr�n ([EMAIL PROTECTED]) escribi�:
> �Gracias pedazo CRACK!
> Me ha venido de perlas tu soluci�n, con lo que ya me ahorro los
> problemas que estaba teniendo con lo de pasar valores entre shells.
> Finalmente me ha quedado as� (a lo mejor es un poco chapuza, pero no
> suelo escribir muchos scripts y nunca hab�a usado awk):
>
> -------------------------------------------
> #/bin/sh
>
> ETIQUETA="TOTAL TIME"
>
> grep -h "${ETIQUETA}" ${1:-*} | awk '
> BEGIN{ MAX="nada"; MIN="nada"; CONT=0; MEDIA=0; }
> { if ( (MAX == "nada") || ( MAX < $3 ) ) MAX = $3; }
> { if ( (MIN == "nada") || ( MIN > $3 ) ) MIN = $3; }
> { CONT ++; }
> { MEDIA += $3 }
> END{ print "min = "MIN; print "max = "MAX; print "media = "MEDIA /
> CONT; }'
> -------------------------------------------
>
> y.... �Funciona!
>
> Una cosilla, eso s�, cuando alguna de las l�neas que el grep le pasa
> al awk no tiene la columna que necesito (la 3 en este caso), el c�lculo
> del m�nimo no funciona bien (son n�meros reales, y supongo que awk
> debe de considerar por ejemplo: 0.89234 > null). A ver c�mo lo
> soluciono, pero no me es vital.
>
>
> Much�iiiisimas gracias por el cable.
>
> Saludos.
Te lo corrijo y te tiro otro dato:
awk '
BEGIN{ MAX="nada"; MIN="nada"; CONT=0; MEDIA=0; ETIQUETA="TOTAL TIME"}
$0 ~ ETIQUETA{
if ( (MAX == "nada") || ( MAX < $3 ) ) MAX = $3;
if ( (MIN == "nada") || ( MIN > $3 ) ) MIN = $3;
CONT ++;
MEDIA += $3
}
END{ print "min = "MIN; print "max = "MAX; print "media = "MEDIA / CONT; }'
${1:-*}
No te garantizo que funcione, pero te recomiendo una lectura profunda
de la pagina man
--
Saludos,
Germ�n