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

[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?
>




reply via email to

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