[suse-linux-s] AWK falla para SLES ¿?
Buen Día. Hoy uno de mis usuarios me reporto algo muy extraño... Lo cual nos tien confundidos por aqui.... Se trata de que AWK no esta entregando los resultados que debe en SLES Prueben esto si tienen SLES como un usuario normal creen un archivo datos cat > datos 0.0007629395 7.119279e-09 0.001179983 -12345.00 -12345.00 luego ejecuten $ awk ' { print $1 } ' datos 0.0007629395 $ awk ' { printf"%13.8f\n", $1 } ' datos 0,00000000 Que tal esto.... Ahora prueben como root ... Que tal... esto a mi me masa en todo mis equipos que tienen SLES 9.0 Que onda... que puede ser.... o que me pueden sugerir... Gracias y un saludo a todos. -- Instituto de Ingeniería de la UNAM Coordinación de Sistemas de Cómputo Área de Sistemas Unix/Linux
El 23/01/06, Instituto de Ingenieria Unix
Hoy uno de mis usuarios me reporto algo muy extraño... Lo cual nos tien confundidos por aqui....
Se trata de que AWK no esta entregando los resultados que debe en SLES
Prueben esto si tienen SLES como un usuario normal
creen un archivo datos cat > datos 0.0007629395 7.119279e-09 0.001179983 -12345.00 -12345.00
OJO con el separador decimal y cual tienen definido en tu SLES
luego ejecuten
$ awk ' { print $1 } ' datos 0.0007629395
En este caso la funcion print esta imprimiendo el texto $1
$ awk ' { printf"%13.8f\n", $1 } ' datos 0,00000000
En este caso la funcion printf este intentando imprimir un float, pero el float en tu SLES esta formateado con "," en vez de con "." Si tu archivo datos le pones lo siguiente 0,0007629395 7,119279e-09 0,001179983 -12345,00 -12345,00 debería funcionar. Saludos sf.-
Increible ....
Estas en todo lo cierto, el problema radicaba en la representación de los
decimales pues
el formato del SLEs es "," en vez de "." como lo tiene el SuSEPrefesional...
El asunto es que varios de mis usaurios tienen sus archivos representados
con el formato de "."
Siento que lo mas sano para ellos y para mi es decirle a mi SLES que cabie
el valor del formato de las cantidades númericas...
de "," ---> "."
Sabes donde se puede cambiar eso ??
Lo voy a buscar dentro de mi Escritorio de KDE pensando que pueda ser aluna
configuración del entorno de trabajo, donde generalemnet
se habla del tipo de moneda, el formato de cantidades etc etc...
De antemano Gracias.
Saludos
Fernando M.
On 1/24/06, Sebastian Ferro
El 23/01/06, Instituto de Ingenieria Unix
escribió: Hoy uno de mis usuarios me reporto algo muy extraño... Lo cual nos tien confundidos por aqui....
Se trata de que AWK no esta entregando los resultados que debe en SLES
Prueben esto si tienen SLES como un usuario normal
creen un archivo datos cat > datos 0.0007629395 7.119279e-09 0.001179983 -12345.00 -12345.00
OJO con el separador decimal y cual tienen definido en tu SLES
luego ejecuten
$ awk ' { print $1 } ' datos 0.0007629395
En este caso la funcion print esta imprimiendo el texto $1
$ awk ' { printf"%13.8f\n", $1 } ' datos 0,00000000
En este caso la funcion printf este intentando imprimir un float, pero el float en tu SLES esta formateado con "," en vez de con "."
Si tu archivo datos le pones lo siguiente 0,0007629395 7,119279e-09 0,001179983 -12345,00 -12345,00
debería funcionar.
Saludos sf.-
-- Para dar de baja la suscripción, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com
-- Instituto de Ingeniería de la UNAM Coordinación de Sistemas de Cómputo Área de Sistemas Unix/Linux
El 24/01/06, Instituto de Ingenieria Unix
Estas en todo lo cierto, el problema radicaba en la representación de los decimales pues el formato del SLEs es "," en vez de "." como lo tiene el SuSEPrefesional...
El asunto es que varios de mis usaurios tienen sus archivos representados con el formato de "." Siento que lo mas sano para ellos y para mi es decirle a mi SLES que cabie el valor del formato de las cantidades númericas... de "," ---> "."
Sabes donde se puede cambiar eso ?? Lo voy a buscar dentro de mi Escritorio de KDE pensando que pueda ser aluna configuración del entorno de trabajo, donde generalemnet se habla del tipo de moneda, el formato de cantidades etc etc...
No se si es la forma más elegante de resolver el problema, pero una de las formas de hacerlo es que antes de ejecutar tu AWK cambies el valor de la variable de entorno LANG. Seguramente esa variable la tienes seteada de la siguiente forma: LANG=es_ES@euro La deberías setear como LANG=en_US Cono eso debería solucionar tu problema. Saludos sf.-
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2006-01-24 a las 14:53 -0300, Sebastian Ferro escribió:
No se si es la forma más elegante de resolver el problema, pero una de las formas de hacerlo es que antes de ejecutar tu AWK cambies el valor de la variable de entorno LANG. Seguramente esa variable la tienes seteada de la siguiente forma: LANG=es_ES@euro
La deberías setear como LANG=en_US
Debería bastar con cambiar "LC_NUMERIC". - -- Saludos Carlos Robinson -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFD1npPtTMYHG2NR9URAnPuAKCLCHBz57bVVd2AgdS6xP2YOJUHAQCeIpez KeGCT9GvYlB4hXhoVciro8E= =Z7Ou -----END PGP SIGNATURE-----
participants (3)
-
Carlos E. R.
-
Instituto de Ingenieria Unix
-
Sebastian Ferro