Pular para o conteúdo

If com seq

Responder tópico
  • Denunciar
  • Indicar

1. If com seq

Enviado em 04/01/2017 - 09:09h

Olá, estou com uma dúvida. Estou fazendo um script em shell e estou com uma duvida de como relacionar o "for" com o "seq".

Meu script precisa fazer um for de 00 a 18 com incremento de 06 em 06.

Atualmente ele está assim:

#!bin/bash
....

for j in $(seq -w 00 18); do
.....

Eu ja tentei usar o : for j in $(seq 00..06..18); do , para tentar fazer um incremento mas não funciona. Alguem sabe se existe outra solução?

Outra coisa eu preciso que o 0 a esquerda permaneça por ex: 00, 06,12,18.

Obrigado, desde já

Responder tópico

2. Re: If com seq

Enviado em 04/01/2017 - 09:20h

Utilizando o for j in $(seq -w 00 18); do echo $j; done funcionou para min, mas já que não funcionou para vc, tente algo como:


for j in $(seq 0 18); do
printf %02d $j # colocando 2 posicoes com zeros a esquerda
echo # apenas pulando uma linha
done

3. Re: If com seq

Enviado em 04/01/2017 - 09:49h

rai3mb escreveu:

Utilizando o for j in $(seq -w 00 18); do echo $j; done funcionou para min, mas já que não funcionou para vc, tente algo como:


for j in $(seq 0 18); do
printf %02d $j # colocando 2 posicoes com zeros a esquerda
echo # apenas pulando uma linha
done
Sim, esse também funciona. Porém eu quero que ele vá de 06 em 06.

Por exemplo: no meu script tem um wget que utiliza:

for j in $(seq -w 00 18); do

wget ....... ${j} ........

No wget só existem arquivos com j = 00, j = 06, j = 12 e j =18. Portanto, se eu colocar na forma acima, ele funciona, porém nos " j´s " diferentes dos valores mencionados, ele acusa de erro e acaba demorando mais para executar todo o script.

4. Re: If com seq

Enviado em 04/01/2017 - 11:13h

entendi, uma rapida olhada no man, man seq e:

seq -w 00 6 18

seq FIRST INCREMENT LAST

5. Re: If com seq

Enviado em 04/01/2017 - 12:02h

josepaulo escreveu:

Olá, estou com uma dúvida. Estou fazendo um script em shell e estou com uma duvida de como relacionar o "for" com o "seq".

Meu script precisa fazer um for de 00 a 18 com incremento de 06 em 06.

Atualmente ele está assim:

#!bin/bash
....

for j in $(seq -w 00 18); do
.....

Eu ja tentei usar o : for j in $(seq 00..06..18); do , para tentar fazer um incremento mas não funciona. Alguem sabe se existe outra solução?

Outra coisa eu preciso que o 0 a esquerda permaneça por ex: 00, 06,12,18.

Obrigado, desde já
Uma outra opção, é usar o recurso do bash...
for j in {00..18..6};do
echo $j
done


marcelo oliver

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder