If com seq

1. If com seq

jose paulo flores
josepaulo

(usa Linux Mint)

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á



  


2. Re: If com seq

Raimundo Alves Portela
rai3mb

(usa Outra)

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

jose paulo flores
josepaulo

(usa Linux Mint)

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

Raimundo Alves Portela
rai3mb

(usa Outra)

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

Marcelo Oliver
msoliver

(usa Debian)

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






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts