Article View: es.comp.os.linux.programacion
Article #16149Re: Generar un número con el Bash
From: Manuel López Moreno
Date: Fri, 05 May 2000 00:00
Date: Fri, 05 May 2000 00:00
64 lines
2388 bytes
2388 bytes
Tal d�a Thu, 04 May 2000 22:09:30 GMT,
Esteban <scandisk@ctv.es> nos relat�:
> Tengo hecho un script que me genera un dat del tipo:
>
> registro:1 Comida , Hipercor , 2000
>
> 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.
La soluci�n en bash es bastante liosa, por lo que pregunto �por
qu� no quieres recurrir al awk?
$ awk -F',' '
> BEGIN {s = 0}
> /Hipercor/ {s += $4}
> END {print "Total: ", s}' < datos.dat
Esto, llamando directamente al awk. Pero siempre puedes escribir
un script:
#!/bin/awk -f
#
BEGIN {
FS = ","
s = 0
}
bla-bla-bla
O, incluso, escribir el script-awk en un archivo aparte y
utilizarlo desde un script-shell puro:
[suma.awk]
BEGIN {s = 0}
/Hipercor/ {s += $4}
END {print "Total: ", s}
[suma.sh]
#!/bin/sh
bla-bla-bla
awk -F',' -f suma.awk < datos.dat
Otra cosa que deber�as saber es, que puedes transferir variables
desde el script-shell al script-awk.
... perdona por insistir en lo del awk :-)))
--
Manuel L�pez Moreno
O---m <http://www.linuxfan.com/~luname/pgp-key.asc>
Visita: Web de ecol.* <http://www.linux-es.com/es.comp.os.linux.*/>
Technical Details
Message-ID:
<slrn8h4ir7.10v.luname@mantium.luname.net>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 X-Google-Thread: f86c8,5491e17dfd7524bc X-Google-Attributes: gidf86c8,public From: luname@linuxfan.com (Manuel López Moreno) Subject: Re: Generar un número con el Bash Date: 2000/05/05 Message-ID: <slrn8h4ir7.10v.luname@mantium.luname.net> X-Deja-AN: 619624422 Content-Transfer-Encoding: 8bit References: <slrn8h372p.1cf.scandisk@localhost.localdomain> <8esjh4$7f4$1@news.unizar.es> <slrn8h3so7.1s2.scandisk@localhost.localdomain> Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: abuse@news.wanadoo.es X-Trace: m2newsread.uni2.es 957541445 62.36.168.142 (Fri, 05 May 2000 17:44:05 MET DST) Organization: Wanadoo Usenet News - Visita http://www.wanadoo.es/ Mime-Version: 1.0 User-Agent: slrn/0.9.6.2 (Linux) NNTP-Posting-Date: Fri, 05 May 2000 17:44:05 MET DST Newsgroups: es.comp.os.linux.programacion