Hej,
Hmm...to nie jest żaden błąd. To jest kwestia interpretacji/przedstawiania liczb w powłoce.
Ale ok, może będzie jaśniej:
Skrypt, a właściwie polecenie, na sumować ilość danych (w KB) zapisanych w ciągu doby. Plik do obróbki, który jest wynikiem innego polecenia, ma format jak poniżej:
12341234 01-05-2012
5234514 01-05-2012
34523415 01-05-2012
...
45124124 02-05-2012
5451244564 02-05-2012
...
542454332 31-05-2012
53451454 31-05-2012
No i teraz chcę sumować to co jest w pierwszej kolumnie, ale dla każdego dnia osobno. Robię to tak:
for i in 01 02 03 ... 31
do
var1=`cat plik | grep "$i-05-2012" | awk '{SUM += $1} END {print SUM}'`
echo $1"-05-2012" $var1
done
Efekt jakiego oczekuje to, np dla 01-05-2012:
01-05-2012 52099163
Oczywiście ilość rekordów dla jednego dnia może być nawet 6tyś. Więc ilość danych oczywiście jest znacznie większa, przez co liczba w KB też jest znacznie większa niż w przykładzie (np 19499351443 KB, co jest ~18TB). W bash w RH wynik jest ładny, a w Ubuntu: 1.94994e+10. Sprawdzałem ustawienia locale, ale to nic nie daje.
pozdrawiam
Madej