Linux - duda gawk

 
Vista:

duda gawk

Publicado por alboadicto (5 intervenciones) el 09/07/2005 05:40:12
Hola:

No me habia pasado con awk...pero empece a trabajar con gawk (el que viene con fedora 2.6). Estoy haciendo un script sencillo que resta el contenido de dos columnas. El problema es que el resultado me lo aproxima al entero.
ej : file entrada ---> 12.34 0.11
gawk --> print $1,$2,$1-$2
salida ---> 12.34 0.11 12

Ven?? deberia entregarme en la tercera columna 12.23 !!!!

Trate de cambiar OFMT y CONVFMT que se supone vienen por default con el siguiente formato "%.6g" al formato "%.5f" pero no me entrega lo que quiero si no que agrega ceros.
ademas pedi que imprimiera la funcion sprintf($1) y sprintf($2) y estas ya desechan los decimales.

AYUDA POR FAVOR !!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:duda gawk

Publicado por chuidiang (101 intervenciones) el 14/07/2005 09:02:53
Hola:

En cierta ocasión también tuve un problema de que se me comían los decimales pero con un programa en C. El motivo eran las variables de entorno relativas al idioma.

Por ejemplo, con LANG=es, este programa

#include <iostream.h>

int main()
{
double a=4.5;
double b=0.1;
cout << a-b<<endl;
return 0;
}

da de salida 4

pero con LANG=C, el mismo programa (hay que recompilarlo), da la salida correcta, 4.4

Quizás te esté pasando algo parecido.

Se bueno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por alboadicto (5 intervenciones) el 14/07/2005 18:20:55
yo creo que va por ahi la cosa:

hice locale y obtuve es_ES.UTF-8 o algo asi en todas las varibles del tipo LC_algo
pero no se como cambiar esa configuración???

sabes tu como puedo hacerlo??

Gracias por tu respuesta.

Albo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por chuidiang (101 intervenciones) el 14/07/2005 23:15:02
Hola:

En mi caso concreto fue la variable LANG que ponia es. Las LC_ no me afectaron.

Para cambiarlas para un usario basta ponerlas en su fichero de arranque. Suele estar en su $HOME y llamarse algo asi como .profile .bash .login (con punto delante, es decir, fichero oculto).

Si quieres cambiarlo por defecto para todos los usuarios, sé que hay ficheros de este estilo que sólo puede cambiar el root y están perdidos por los directorios del sistema (quizas /etc ). Es cuestión de buscarlos.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por alboadicto (5 intervenciones) el 15/07/2005 00:00:07
gracias...intentare encontrarlo.

En este caso solo cambio lo que esta entre comillas por "C"?

saludos y garcias.

albo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por alboadicto (5 intervenciones) el 15/07/2005 02:21:40
Hola:

sabes...use el comando >export LANG=C
como root y probe la resta y funciono !!!!
quiero asegurarme mas tarde a ver si el cambio afecto a todos los usuarios o al root nada mas y si el cambio es temporal o hay que hacerlo cada vez que abro sesion.

saludos.

albo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por chuidiang (101 intervenciones) el 16/07/2005 10:22:29
Hola:

Si el export lo has hecho en un bash a mano, sólo afecta a ese bash y a todos sus hijos.

Para hacerlo permanente, hay que meterlo en uno de los ficheros que te indique (.bashprofile, .profile, .login, etc, etc). Si lo haces en el del $HOME de un usuario, sólo afecta a ese usuario.

Para hacer que afecte a todos los usuarios, debes hacerlo creo que en /etc/profile o similar.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por alboadicto (5 intervenciones) el 18/07/2005 04:11:25
Hola:

Busque el archivo (como root) en /etc/profile

pero no se como alterarlo para hacer el cambio de la variable de entorno.

Si quieres te envio una copia del archivo para que me digas si es ese o no (o la publico aqui) y de ser ese como lo cambio.

saludos.

albo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:duda gawk

Publicado por chuidiang (101 intervenciones) el 28/07/2005 05:37:19
Hola:

No debería ser dificil. Como root edítalo y mira a ver si en algún sitio está definida la variable LANG. Si así, cámbiala para que ponga C. Si no está definidia, añade en algún sitio

export LANG=C

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar