Carlos Onelio Cazorla Machado wrote:
El jue, 18-06-2009 a las 06:56 -0400, Carlos Onelio Cazorla Machado
escribió:
Hola colegas.
Recientemente decidí usar (por primera vez) gawk para procesar un
archivo texto con el reporte de consumo telefonico de cada cliente y
notificar el estado de sus cuentas telefonicas por correo electrónico
diariamente. El archivo tiene una estructura sencilla:
date co-line cliente number price
20090601 001 P0002 350031 13.85
. xxx P0150 xxxxxx x.xx
. xxx P0002 xxxxxx 2.35
200906nn xxx xxxxx xxxxx x.xx
Sencillo, totalizar la columna price por cliente. Aqui viene lo bueno,
cada vez que efectuo la sumatoria (total+=$5) me redondea cada valor de
$5 (price) a entero. La documentación que tengo de awk dice que las
variables las inicializa a 0. Es decir, en la tabla de ejemplo me
totalizaría 15 para el cliente P0002 (13+2, truncando el valor).
Revisé que valor estaba tomando $5 y está tomando el valor real, sin
embargo pasa este problema. Probé inicializar total = 0.0 pero igual.
Estaré obviando alguna conversión? (Aunque dice las documentación que
awk trabaja sin problemas con valores numéricos) o habrá que indicarle
el tipo a la variable de alguna forma para float?
Saludos y gracias,
Carlos
--
===================================
MSc. Carlos O. Cazorla Machado
Dpto. Informática y Comunicaciones
ECOT "Cayo Santa María"
e-mail: cazo...@ecot.co.cu
Teléfonos: 353644, 351084 (Ext.117)
Linux User 379000
===================================
Hola colegas.
Ayer en la tarde/noche tuvimos corte de energía eléctrica en la empresa
por reparaciones y hubo que apagar los servidores por la ausencia de
climatización en el local, así que si alguno respondió a este hilo, por
favor reenvie el correo para poder recibirlo.
Disculpen molestias.
Saludos,
Poniendo los datos en un archivo datos-x, y agregando # al principio de
la primera linea, para ignorarla, y con un simple:
mawk ' /#/ !~ $0 { print "no #"; total += $5} END {print "total="
total}' datos-x
da esta salida:
total=16.2
Asi que si no das ejemplo de tu codigo, dudo que se te pueda ayudar.
--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org