Article View: es.comp.os.linux.programacion
Article #16148Re: Generar un número con el Bash
From: J.A. Gutierrez
Date: Fri, 05 May 2000 00:00
Date: Fri, 05 May 2000 00:00
59 lines
2154 bytes
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-mailReferences:
<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