PDA

View Full Version : Problema con AWK


diesel_79
13-04-2005, 12:26
Ciao a tutti
Avrei un problemino con awk....
In pratica quando faccio delle operazioni, tipo moltiplicazioni o addizioni del tipo:

echo "10 5" | awk '[print $1, $2*0.01]' > pippo

(andrebbe la parentesi graffa....ma nn riesco a farla )

cioè quando vi sono numerici decimali, in uscita il risultato esce con la "virgola" (del tipo 0,05) o non col "punto" (0.05) come dovrebbe fare.
Ciò mi rende impossibile l'uso di tali files in uscita con altri programmi che vorrebbero il punto per le cifre decimali.
Non so se "awk" debba in qualche modo essere settato.....AIUTO!
La mia distribuzione di Linux è Fedora Core 3.

kingv
13-04-2005, 14:08
echo "10 5" |LC_ALL=C awk '{print $1 " " $2*0.01}' > pippo

diesel_79
13-04-2005, 14:30
Ho provato però mi dice:

LC_ALL=C: Comando non trovato.

:muro:

kingv
13-04-2005, 14:41
Ho provato però mi dice:
LC_ALL=C: Comando non trovato.
:muro:


:confused:
che shell usi?

diesel_79
13-04-2005, 14:45
Uso csh

kingv
13-04-2005, 14:53
Uso csh


non la conosco, usa bash oppure trova la sintassi equivalente

diesel_79
13-04-2005, 15:04
Grazie.
Effettivamente in bash funziona, tuttavia ho necessità di mantenere csh....nn so come trovare il comando equivalente....
Una domanda: usando la shell bash ovviamente, è possibile che sò settare tale comando nelle path in modo da non doverlo scrivere ogni volta.....
o qualcosa del genere?

kingv
13-04-2005, 15:09
per settarlo per il tuo utente edita ~/.bash_profile aggiungendo
export LC_ALL=C

naturalmente così facendo vai a modificare anche i settaggi degli altri programmi che usano printf, per questo motivi ti avevo consigliato la versione in riga comando.

diesel_79
13-04-2005, 15:15
Si, però se dovessi inserire in riga di comando ogni volta, dovrei modificare tutti gli script che ho.....un lavoraccio....in quanto utilizzavo un altro computer con un altra distribuzione di Linux (Red Hat) sempre con la shell csh e nn mi dava tale problema

kingv
13-04-2005, 15:26
Si, però se dovessi inserire in riga di comando ogni volta, dovrei modificare tutti gli script che ho.....un lavoraccio....in quanto utilizzavo un altro computer con un altra distribuzione di Linux (Red Hat) sempre con la shell csh e nn mi dava tale problema


non è un vero problema, hai impostato la lingua come italiana e awk utilizza la localizzazione italiana per stampare i risultati. ;)

diesel_79
13-04-2005, 15:47
:rolleyes:

scusa...nn capisco....quindi?