[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: For com duas variaveis
From: |
fsilva6 |
Subject: |
Re: For com duas variaveis |
Date: |
Wed, 30 Sep 2009 02:04:59 -0000 |
User-agent: |
eGroups-EW/0.82 |
Galera,
pintou uma duvida relativamente simples, mas que infelizmente não fui
capaz de soluciona-la. Alguém que já passou por isso poderia me ajudar.
Estou executando o comado abaixo no AIX, mas não estou obtendo sucesso o
script não consegue identificar os simbolos "<<".
$teste1=Arroz
$teste2=Feijao
$teste3=Marcarrao
$teste4=Farofa
while read VAR1 VAR2 ; do
echo "Var1=$VAR1 Var2=$VAR2"
done <<`echo "$teste1 $teste2
$teste3 $teste4"`
Tomei como base o script postado pelo colega no topico anterior mas
quando tento obter as informações de uma variavel o script abenda. Vale lembrar
que isso é uma curiosidade, pois acho muito interessante um loop com duas
vairaveis.
Efetuei alguns teste como o apresentado abaixo e obtive sucesso.
while read cliente telefone ;do
echo "$cliente $telefone ";
done < telefone_cliente.csv
---------------------------------------------------------------
--- Em address@hidden, "box_ferrari" <boxferrari@...> escreveu
>
> --- Em address@hidden, Breno Moiana <breno.moiana@> escreveu
> >
> > Assim?
> >
> > $ for x in a b c d; do for y in 1 2 3 4; do echo "x=$x, y=$y";done;done
> > x=a, y=1
> > x=a, y=2
> > x=a, y=3
> > x=a, y=4
> > x=b, y=1
> > x=b, y=2
> > x=b, y=3
> > x=b, y=4
> > x=c, y=1
> > x=c, y=2
> > x=c, y=3
> > x=c, y=4
> > x=d, y=1
> > x=d, y=2
> > x=d, y=3
> > x=d, y=4
> >
> >
> >
> > Breno.
> > --
> >
>
> Laço? Tem que ser um for? Não pode ser um while?
>
> Tipo assim:
>
>
> while read VAR1 VAR2 ; do
> echo "Var1=$VAR1 Var2=$VAR2"
> done < <(echo 'v1 v2
> v3 v4
> v5 v6')
>
> Var1=v1 Var2=v2
> Var1=v3 Var2=v4
> Var1=v5 Var2=v6
>
> * note que depois de v2, v4 e v6, há uma quebra de linha.
>
> No exemplo, usei um echo, mas suponha que você tenha um arquivo com 2 colunas
> e várias linhas, exemplo, uma relação de nomes e CPF's e queira fazer um,
> digamos assim, "for", com cada linha usando ambas as informações, nome e CPF,
> você pode usar o comando assim
>
> cristiano@mga0-fwall-dsl:~> cat lista.txt
> 1var_A 1var_B
> 2var_A 2var_B
> 3var_A 3var_B
> 4var_A 4var_B
> 5var_A 5var_B
> 6var_A 6var_B
> 7var_A 7var_B
> 8var_A 8var_B
> 9var_A 9var_B
>
> cristiano@mga0-fwall-dsl:~> while read NOME CPF ; do echo "Nome=$NOME
> CPF=$CPF" ; done < lista.txt
> Nome=1var_A CPF=1var_B
> Nome=2var_A CPF=2var_B
> Nome=3var_A CPF=3var_B
> Nome=4var_A CPF=4var_B
> Nome=5var_A CPF=5var_B
> Nome=6var_A CPF=6var_B
> Nome=7var_A CPF=7var_B
> Nome=8var_A CPF=8var_B
> Nome=9var_A CPF=9var_B
>
> Era isso que você queria ou eu viajei?
>
Re: [shell-script] For com duas variaveis, Leandro Santiago, 2009/09/25