shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Gerar números com for


From: Julio Neves
Subject: Re: [shell-script] Gerar números com for
Date: Wed, 15 Aug 2001 11:56:14 -0300

Olá Eriberto,
o que vou falar não se aplica ao for, mas como a ER que vc usou no exemplo 
([0-999]) induz as pessoas a pensarem que isto significa de 0 a 999, o que 
não é verdade, vou dar uma explicadinha.

Os colchetes servem para substituir somente uma posição tal e qual o ponto de 
interrogação (ou seria ponto de perguntação 
:). Veja só a expressão abaixo como exemplo:
[a-cfzm]
Devolve os seguintes valores válidos:
a-c -> a b c (lê-se de a até c)
f -> f
z -> z
m -> m
Então os valores válidos são a ou b ou c ou f ou z ou m

Aplicando o mesmo raciocínio na sua expressão:
[0-999]
0-9 -> 0 1 2 3 4 5 6 7 8 9 (lê-se de 0 até 9)
9 -> 9 
9 -> 9 
isto é, somente os valores zero até nove são válidos, o poderia ser feito 
como [0-9].

Para fazer de zero até 999 uma das ERs possíveis seria:
[0-9][0-9][0-9]

[ ]s,
Julio


Favor responder a address@hidden
Para:   <address@hidden>
cc: 
Assunto:        [shell-script] Gerar números com for

Bom dia amiguinhos !

Estou com uma dúvida básica. Quero gerar números de 1 a 1000. Consegui 
fazer
com while:

#!/bin/bash
a=0
while [ $a -lt 1000 ]
do echo $a
a=$[a+1]
done

Agora pergunto: como posso fazer isso com for ? Tentei algo do tipo for i 
in
[1-1000] mas não deu certo. Além de querer aprender o for, penso que seria
mais fácil.

[]'s a todos !

Eriberto



Sair da lista: address@hidden
Banco Dados:   http://www.egroups.com/group/shell-script 

Seu uso do Yahoo! Groups é sujeito às regras descritas em: 
http://docs.yahoo.com/info/terms/ 







From (no email address) Wed Aug 15 08:05:59 2001
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-7_3_1); 15 Aug 2001 15:05:58 -0000
Received: (qmail 20294 invoked from network); 15 Aug 2001 15:05:58 -0000
Received: from unknown (10.1.10.26)
  by l8.egroups.com with QMQP; 15 Aug 2001 15:05:58 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156)
  by mta1 with SMTP; 15 Aug 2001 15:04:52 -0000
Received: from burns.conectiva (burns.conectiva [10.0.0.4])
        by perninha.conectiva.com.br (Postfix) with SMTP id EEDBC38CC2
        for <address@hidden>; Wed, 15 Aug 2001 12:04:41 -0300 (EST)
Received: (qmail 18652 invoked by uid 0); 15 Aug 2001 15:03:54 -0000
Received: from verde.distro.conectiva (10.0.17.77)
  by burns.conectiva with SMTP; 15 Aug 2001 15:03:54 -0000
Date: Wed, 15 Aug 2001 12:13:46 -0300 (BRT)
X-X-Sender:  <verde@verde.distro.conectiva>
To: <address@hidden>
Subject: Re: [shell-script] =?iso-8859-1?Q?Gerar_números_com_for?In-Reply-To: 
<01c1257d$70514ac0$address@hidden>
Message-ID: <Pine.LNX.4.33L.0108151208160.877-100000@verde.distro.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
X-eGroups-From: # aurelio marinho jargas <address@hidden>
From: # aurelio marinho jargas <address@hidden>

@ 15/8, Eriberto:
> Estou com uma dúvida básica. Quero gerar números de 1 a 1000.
> [...]
> Agora pergunto: como posso fazer isso com for ? Tentei algo do tipo for i in
> [1-1000] mas não deu certo.

usa o seq:

for i in `seq 1 1000`; do echo $i; done


ou no bash2 dá pra fazer um for tipo C

for ((i=0;i<1000;i++)); do echo $i; done


[~] rpm -qf `which seq`
sh-utils-2.0-12cl


e muito bem lembrada a dica do júlio sobre o intervalo!

--
s·:(·>(·×^a]×http://www.verde666.org×^[:wq



reply via email to

[Prev in Thread] Current Thread [Next in Thread]