Article View: es.comp.os.linux.programacion
Article #13254Re: numero aleatorio
From: J.A. Gutierrez
Date: Mon, 12 Mar 2001 10:47
Date: Mon, 12 Mar 2001 10:47
39 lines
2019 bytes
2019 bytes
Manuel <agustinapa@bch.navegalia.com> wrote:
:
: �Como puedo obtener un numero aleatorio (entre 0 y uno dado)
: en un script del shell ?
1) sh tradicional, cualquier unix:
# muy poco aleatorio, pero puede valer
VAR=`date | md5 | tr -d '[a-z]' | awk '{print substr($0,1,5);}'`
VAR=`expr $VAR + $$`
2) sh tradicional, linux:
VAR=`dd if=/dev/random bs=2 count=1 2>/dev/null | od -d -A n | tr -d ' '`
3) ksh, POSIX sh, bash
# conviene inicializar primero $RANDOM
RANDOM= (algun valor, p.e. alguna expresion de las de arriba)
VAR=$RANDOM
4) sh + perl
VAR=`perl -e 'for ($i=0; $i < $$; $i++) { rand(); }; print int(rand(1000));'`
Una vez que tienes $VAR aleatorio, puedes usar el operador
'%' desde expr
--
PGP and other useless info at \ La ciencia-ficcion es
http://www.cps.unizar.es/~spd/ \ ese futuro en el que
finger://daphne.cps.unizar.es/spd \ lo seguro es que ya
ftp://ivo.cps.unizar.es/pub/ \ (F. Alfaro) no seremos jovenes
Technical Details
Message-ID:
<98i9f6$6dm$1@news.unizar.es>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!news.rediris.es!news.unizar.es!not-for-mailReferences:
<98fr6a$d76$1@m2newsreader01.wanadoo.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,ed1072d8aeffb133
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2001-03-12 02:36:06 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!news.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: numero aleatorio
Date: 12 Mar 2001 10:47:02 GMT
Organization: Rank
Lines: 39
Message-ID: <98i9f6$6dm$1@news.unizar.es>
References: <98fr6a$d76$1@m2newsreader01.wanadoo.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 984394022 6582 155.210.152.20 (12 Mar 2001 10:47:02 GMT)
X-Complaints-To: usenet@news.unizar.es
NNTP-Posting-Date: 12 Mar 2001 10:47:02 GMT
User-Agent: tin/1.4.4-20000803 ("Vet for the Insane") (UNIX) (IRIX/6.2 (IP22))