Portál AbcLinuxu, 24. dubna 2024 01:03


Dotaz: Problém s desetinou čárkou v AWK

9.3.2006 19:15 krystof81
Problém s desetinou čárkou v AWK
Přečteno: 123×
Odpovědět | Admin
Chci zjistit součet položek v souboru a používám příkaz pro AWK:

{x+=$1}
END{print x/NR}

, což pochopitelně funguje až do okamžiku, kdy jsou položky desetinná čísla, kde je jako oddělovač celé a desetinné části použita tečka. AWK takové číslo chápe jako řetězec a ve výpočtech ho nahradí nulou.
Dokonce jsem zkoušel příkaz: '{print 3.14}' a obdržel na stdout 3,14.

Interní proměnné CONVFMT i OFMT obsahují defaultní řetězec '%.6g'. Používám verzi AWK 3.1.4 na Mandrake 10.2.

Poradí mi někdo jak donutit AWK aby korektně přečetl desetinná čísla?
(Na kamarádově systému ok, bohužel nevím jakou má verzi AWK a nastavení)
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.3.2006 19:18 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
Rozbalit Rozbalit vše Re: Problém s desetinou čárkou v AWK
Odpovědět | | Sbalit | Link | Blokovat | Admin
není problém jenom v locales? s LC_ALL=C to dopadne jak?
9.3.2006 20:36 krystof81
Rozbalit Rozbalit vše Re: Problém s desetinou čárkou v AWK
Diky, opravdu stacilo nastavit sys. promenou LC_ALL=C.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.