🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Generar un número con el Bash

#16149
From: Manuel López Moreno
Date: Fri, 05 May 2000 00:00
64 lines
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-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
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