🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16148

Re: Generar un número con el Bash

#16148
From: J.A. Gutierrez
Date: Fri, 05 May 2000 00:00
59 lines
2154 bytes
Esteban <scandisk@ctv.es> wrote:

: Cuando consulto por hipercor (por ejemplo), el resultado es:

: registro:1 Comida , Hipercor , 2000
: registro:5 Ordenador, Hipercor , 50000
: registro:37 Zapatos , Hipercor , 3000

: Como puedo hacer para que me muestre la suma del dinero, algo como:

: 				Total: 55000

: Supongo que es posible con el bash, sin recurrir al awk u otro.

	si quieres hacer aritmetica con bash, no necesitas el
	"expr" del mensaje anterior; pero el programa sera menos
	portable.

	bash-2.02$ let a=1
	bash-2.02$ let a=$a+1
	bash-2.02$ echo $a
	2

	asi pues, hariamos:

#!/bin/bash
# or /bin/ksh but not /bin/sh

typeset -i num

IFS=","

let total=0

grep -i Hipercor file |(\
while read foo bar num
do
    echo "$num"
    let total=$total+$num
done

echo $total

)


	sin usar la aritmetica de bash/ksh se puede hacer o
	a base de multiples "expr" o bien llamando a 'dc' al
	final. (se deja como ejercicio al lector)

	No obstante, para este ejemplo yo diria que lo mas adecuado
	es awk. (se deja como ejercicio al lector)


-- 
PGP and other useless info at      \                 Oh, show us the way
http://www.cps.unizar.es/~spd/      \             to the next whisky bar
finger://daphne.cps.unizar.es/spd    \                      Weill/Bretch
es doloroso ser sabio y descubrir la sopa de ajo                   (Pla)
Technical Details
Message-ID: <8eu88s$5ip$1@news.unizar.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <slrn8h372p.1cf.scandisk@localhost.localdomain> <8esjh4$7f4$1@news.unizar.es> <slrn8h3so7.1s2.scandisk@localhost.localdomain>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII-7-bit
X-Google-Thread: f86c8,5491e17dfd7524bc
X-Google-Attributes: gidf86c8,public
From: "J.A. Gutierrez" <spd@daphne.cps.unizar.es>
Subject: Re: Generar un número con el Bash
Date: 2000/05/05
Message-ID: <8eu88s$5ip$1@news.unizar.es>
X-Deja-AN: 619524930
References: <slrn8h372p.1cf.scandisk@localhost.localdomain> <8esjh4$7f4$1@news.unizar.es> <slrn8h3so7.1s2.scandisk@localhost.localdomain>
X-Complaints-To: usenet@news.unizar.es
X-Trace: news.unizar.es 957523036 5721 155.210.152.20 (5 May 2000 10:37:16 GMT)
Organization: Rank
User-Agent: tin/1.4.1-19991201 ("Polish") (UNIX) (IRIX/6.2 (IP22))
NNTP-Posting-Date: 5 May 2000 10:37:16 GMT
Newsgroups: es.comp.os.linux.programacion