Salu2 Hace poco tiempo que me estoy dedicando a programar en la shell de linux (bash) y ya me ha surgido las primeras dudas. Estoy creando un script que calcule el ratio de compresión de un directorio. Sabemos que la formula para calcular el ratio es: ratio= bytes comprimidos / bytes sin comprimir He creado una función que se encarga de esto: funcion_ratio(){ du -s /var/log > ratio1.txt du -s cslog$nombre.tar.gz > ratio2.txt x=`awk '{print $1}' ratio1.txt` y=`awk '{print $1}' ratio2.txt` z=` y / x` } funcion_ratio z Pero el fallo está a la hora de hacer la división. He probado hasta de hacer el 'expr', pero resulta que me devuelve el valor 0 (distinto de null o distinto de 0). Alguien conoce la sintaxis exacta para la division? Gracias de antemano.
El 2004-02-07 a las 12:07 +0100, ASFL escribió:
Pero el fallo está a la hora de hacer la división. He probado hasta de hacer el 'expr', pero resulta que me devuelve el valor 0 (distinto de null o distinto de 0). Alguien conoce la sintaxis exacta para la division?
En bash - es división entera: cer@nimrodel:~> echo $((8 / 2)) 4 cer@nimrodel:~> echo $((9 / 2)) 4 cer@nimrodel:~> echo $((9 % 2)) 1 Si quieres decimales, multiplica por 100, y luego pon el punto manualmente... si no, pues usa dc., o te haces un programita que lo haga, que es facil. De awk, ni idea. -- Saludos Carlos Robinson
Gracias. Ha servido de algo la propuesta, pero debo seguir mejorando en el resultado. El Sábado, 7 de Febrero de 2004 16:37, Carlos E. R. escribió:
El 2004-02-07 a las 12:07 +0100, ASFL escribió:
Pero el fallo está a la hora de hacer la división. He probado hasta de hacer el 'expr', pero resulta que me devuelve el valor 0 (distinto de null o distinto de 0). Alguien conoce la sintaxis exacta para la division?
En bash - es división entera:
cer@nimrodel:~> echo $((8 / 2)) 4 cer@nimrodel:~> echo $((9 / 2)) 4 cer@nimrodel:~> echo $((9 % 2)) 1
Si quieres decimales, multiplica por 100, y luego pon el punto manualmente... si no, pues usa dc., o te haces un programita que lo haga, que es facil. De awk, ni idea.
-- Saludos Carlos Robinson
participants (2)
-
ASFL
-
Carlos E. R.