🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: bash decimales

#7428
From: J.A. Gutierrez
Date: Thu, 27 Feb 2003 10:03
123 lines
5269 bytes
"J.A. Gutierrez" <spd@daphne.cps.unizar.es> writes:

: > Pascal Bourguignon <pjb@informatimago.com> wrote:
: 
: > sh ->
: > t=0
: > ls -l *80.* | (while read p l o g s foo; do t=`expr $t + $s`; done; echo $t)
: 
: Si solo  se quiere imprimir $t  vale. Pero obviamente,  se quiere usar
: esta variable despues.

total=`ls -ld *|(t=0;while read p l o g s f; do t=\`expr \$t + \$s\`;done; echo \$t)`

echo $total


: >  ls -l *80.* | awk '/^-/{t=t+$5} END {print t}'
: 
: Ya. awk me vale tambien, por las cosas simples.  Pero no es mas sh.

	bueno, muy pocos scripts son sh puro, muchos invocan a filtros
	externos (cut, awk, sed, tr, etc), que para eso estan. La idea
	de unix no es que "sh" tenga que hacer todo internamente, si no
	que todo se haga a base de combinar programas.

: 
: 
: > : scsh por ejemplo (Scheme Shell).
: >
: >  Vale, de acuerdo; esa implementacion de Scheme si que esta
: >  pensada para eso. En todo caso no se si considerar eso LISP
: >  puro; mas bien parece un LISP con extensiones para convertirlo
: >  en shell.
: >
: >
: >  Pegas:
: >  - no viene por defecto en practicamente ningun unix.
: 
: Eso  no  importa mucho  hoy  en dia,  con  los  programas libres,  los
: espacios disponibles en nuestros discos duros, y el acceso universal a
: Internet, cualquier  heramienta se puede obtener en  cinco minutos con
: un par de clics.

	no importa si

	a) no te importa el espacio en disco adicional que ocupe la instalacion.
	b) es tu maquina. Puede haber casos en los que estes trabajando
	en otra maquina y no te permitan instalar nada.
	c) tienes conexion a internet.

: 
: Por ejemplo, ver como perl se a extendido.

	vale, cuando scsh este tan extendido como perl, seguimos con el
	tema :-)
	(por otra parte, no es extra~no, ya que perl sigue una filosofia
	mezcla de c/sh/sed fuertemente implantada en Unix)

: 
: >  - existe una gran cantidad de literatura sobre tareas
: >    tipicas de unix en sh y muy poca para scsh.
: 
: Por eso, hablemos de alternativas.  �Un poco de pedagogia!

	ok


: 
: Tan bien, si solo  se usa los shell, se esta limitando  a lo que saben
: hacer  estos shells.  Por  ejemplo, con  el pipe  solo se  puede hacer
: sequencias simple de  tubos.  Pero cuando se trata  de implementar eso
: en lisp,  rapidamente y facilmente  se generaliza y ahora  puedo hacer
: pipes multiples igual de facil. Cosas asi:
: 

	me temo que te equivocas.
	Cierto que hay cosas que no se pueden hacer en sh, e incluso
	otras que aunque se puede, hay mejores alternativas...

	Pero una construccion como la del dibujo:

: 
:                              +----------+
: file-1 --------------------->|          |------------------------> file-3
:                              |  pgm2    |
:              +--------+ pipe |          |  pipe  +-----------+
:              |        |----->|          |------->|           |
: stdin ------>| pgm1   |      +----------+        |           |
:              |        |           pipe           |           |---> stdout
:              |        |------------------------->|  pgm3     |
:              +--------+                          |           |
:                                                  |           |
: file-2 ----------------------------------------->|           |
:                                                  +-----------+
: 

	si que se puede hacer en sh:


	mknod pipe1 p
	mknod pipe2 p

	cat file-1 >> pipe1 &
	pgm1 | tee pipe1 >> pipe2
	cat file-2 >> pipe2 &
	pgm2 < pipe1 | tee file-3 >> pipe2 &
	pgm3 < pipe2 &

	rm pipe1 pipe2

	(a ojo, no lo he probado)

	

	(Por cierto, cuando fue la ultima vez que necesitaste hacer
	algo asi?)


-- 
PGP and other useless info at      \
http://www.cps.unizar.es/~spd/      \
finger://daphne.cps.unizar.es/spd    \       Timeo Danaos et dona ferentes
ftp://ivo.cps.unizar.es/pub/          \                         (Virgilio)   
Technical Details
Message-ID: <b3knpa$m7s$1@news.unizar.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newshosting.com!news-xfer1.atl.newshosting.com!news-out.newsfeeds.com!propagator2-maxim!news-in.spamkiller.net!news.telia-iberia.com!bashful.rediris.es!news.unizar.es!not-for-mail
References: <e6gvh-n35.ln1@paldaria.dsland.org> <87of5e86l2.fsf@thalassa.informatimago.com> <b2q8u7$gbk$1@news.unizar.es> <87of561jeb.fsf@thalassa.informatimago.com> <b3ck61$2ga$1@news.unizar.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,362864e02625d68a
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-02-27 16:39:01 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newshosting.com!news-xfer1.atl.newshosting.com!news-out.newsfeeds.com!propagator2-maxim!news-in.spamkiller.net!news.telia-iberia.com!bashful.rediris.es!news.unizar.es!not-for-mail
From: "J.A. Gutierrez" <spd@daphne.cps.unizar.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: bash decimales
Date: 27 Feb 2003 10:03:22 GMT
Organization: Rank
Lines: 123
Message-ID: <b3knpa$m7s$1@news.unizar.es>
References: <e6gvh-n35.ln1@paldaria.dsland.org> <87of5e86l2.fsf@thalassa.informatimago.com> <b2q8u7$gbk$1@news.unizar.es> <87of561jeb.fsf@thalassa.informatimago.com> <b3ck61$2ga$1@news.unizar.es>
NNTP-Posting-Host: daphne.cps.unizar.es
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: news.unizar.es 1046340202 22780 155.210.152.20 (27 Feb 2003 10:03:22 GMT)
X-Complaints-To: usenet@news.unizar.es
NNTP-Posting-Date: 27 Feb 2003 10:03:22 GMT
User-Agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (IRIX/6.2 (IP22))