Mandriva Fórum

Programování => Shell, awk, sed ... => : guus October 02, 2012, 14:21:54



: awk-trideni dat
: guus October 02, 2012, 14:21:54
zdravim
mam soubor dat ...viz priloha

dale jsem pomoci bashe napsal skriptik:

#! /bin/bash

awk '{print$1,"   ",($4/$2)*0.8}' vystup.dat -> prumer

awk '{print$2,"   ",$4}' vystup.dat -> trend


kdyz ho spustim tak to cele probehne ale na konci se zastavi.
Kdyz dam enter dostanu chybovou hlasku:awk: cmd. line:1: (FILENAME=- FNR=1) fatal: division by zero attempted.
potom cely proces musim ukoncit ctrl+c...kdyz se podivam do souboru prumer a trend dle poctu radku to vypada ze je tam vse...snazil jsem se najit co ta chybova hlaska awk znamena ale nejsem z toho moc moudry...vite jak ji odstranit?

diky guus


: Re: awk-trideni dat
: Peťoš October 08, 2012, 08:00:12
At se divam jak se divam, mas tam jen 3 sloupce. Ne 4? Jak je na nej odvolavas??? $4 ???


0.086983335018158       21.5    20.9
0.108333333333333       21      20.9
0.129433333873749       21      20.9
...


: Re: awk-trideni dat
: Peťoš October 08, 2012, 08:06:30
Hmm, kde jsi nasel presmerovani jako " -> "?? Vsad se, ze kdyz to napises spravne (http://www.tuxfiles.org/linuxhelp/iodirection.html), tak to bude fungovat.


: Re: awk-trideni dat
: Peťoš October 09, 2012, 09:36:56
Aby jsi tedy nerekl, ze jsem takova sketa, tak spravne by to melo byt:

:
#! /bin/bash

awk '{print$1,"   ",($3/$2)*0.8}' vystup.dat > prumer

awk '{print$2,"   ",$3}' vystup.dat > trend

Jeste jsem tam opravil $4 na $3, protoze vzhledem k tomu, ze $4 je vzdy nulovy, predpokladam preklep...