WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   awk problem (http://www.wcm.at/forum/showthread.php?t=149864)

spunz 09.11.2004 12:21

awk problem
 
ich möchte den inhalt einer datei mit awk addieren. in der datei sind zeilenweise werte eingetragen, in etwa so:

Code:

10000
20000
30000

ich bekomme es leider nicht hin die zeilen einzeln einzulesen und mit awk zu addieren. entweder streut awk irgendwelche steuerzeichen rein, oder jede zeile wir mit sich selbst addiert und nicht mit den anderen :heul:

jemand ne idee?

_m3 09.11.2004 13:24

muss es awk sein?

spunz 09.11.2004 13:27

Zitat:

Original geschrieben von _m3
muss es awk sein?
wenn möglich ja :)

Sloter 09.11.2004 14:32

cat file.dat
awk `{ergebnis = ergebnis + $1}
END {print "Ergebnis:",ergebnis}` file.dat

Nicht getestet :-)

Sloter

spunz 09.11.2004 15:06

Zitat:

Original geschrieben von Sloter
cat file.dat
awk `{ergebnis = ergebnis + $1}
END {print "Ergebnis:",ergebnis}` file.dat

Nicht getestet :-)

Sloter

so in der art hatte ich es schon. sobald aber eine zahl aus mehr als 9 ziffern besteht, wird die ausgabe mit sonderzeichen unbrauchbar gemacht.

zb: statt 2222222222 kommt 2.22222e+09

käptn 09.11.2004 18:45

$ php -r 'echo array_sum(file("zahlen")), "\n";'

:D

[edit]
"pritnf %d, ergebnis" funktioniert mit awk nicht, scheint an MAX_INT zu liegen...

~

_m3 09.11.2004 20:02

Code:

perl -nle '$x += $_; END {print $x;}' x.txt

spunz 11.11.2004 14:47

Zitat:

Original geschrieben von _m3
Code:

perl -nle '$x += $_; END {print $x;}' x.txt


wärst du so nett am ende noch ein "dividiert durch zwei" einzubauen?


_m3 11.11.2004 15:02

Code:

perl -nle '$x += $_; END {print $x/2;}' x.txt
Bitte schoen. :D

Auf wen darf ich die Rechnung schreiben? ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag