[bash] optellen van getallen, 1 per regel

Pagina: 1
Acties:
  • 228 views sinds 30-01-2008
  • Reageer

  • decramy
  • Registratie: December 2001
  • Laatst online: 13:04

decramy

root@birdie:~#

Topicstarter
Ik heb een lijstje met getallen:

code:
1
2
3
4
5
1
3
7
2
23


Is er een commando dat deze lijst kan optellen...? Zodat er 36 uit komt...?

[ Voor 10% gewijzigd door decramy op 28-03-2006 17:04 ]

20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net


  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

ja dat is er :+

zal het zo even voor je opzoeken :)

Zaram module kopen voor je glasvezelaansluiting?


Verwijderd

decramy schreef op dinsdag 28 maart 2006 @ 17:03:
Ik heb een lijstje met getallen:

code:
1
2
3
4
5
1
3
7
2
23


Is er een commando dat deze lijst kan optellen...? Zodat er 36 uit komt...?
Zo iets?
code:
1
2
3
4
5
6
7
getallen=0
for getal in `cat getallen`;
do
        getallen=`expr $getallen + $getal`;
done

echo $getallen


edit:

of doe ik nu weer moeilijk :p?

[ Voor 7% gewijzigd door Verwijderd op 28-03-2006 17:12 ]


  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

er is geen direct commando, maar je kunt scripten.
iets met elke ^ vervangen door declare -i <varname>
en dan die vars optellen?

Zaram module kopen voor je glasvezelaansluiting?


  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 17:19
of doe ik nu weer moeilijk :p?
Ja :P

echo $(( `tr -s "\012" "+" < FILENAME` 0 ))

Verwijderd

Zoals gewoonlijk leiden er meerdere wegen naar Rome...
code:
1
echo $((paste -sd+ FILENAME))

code:
1
paste -sd+ FILENAME | bc

code:
1
awk '{Total += $1} END {print Total}' FILENAME

code:
1
for i in $(<FILENAME); { ((Total += i)); }; echo $Total
Pagina: 1