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

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

Re: Espaços em array


From: Eduardo daSilva Ramos
Subject: Re: Espaços em array
Date: Wed, 28 Jun 2006 20:49:38 -0000
User-agent: eGroups-EW/0.82

]# cat login_completo
while read var;
do      nome=`echo $var | cut -d ":" -f1`
        completo=`echo $var | cut -d ":" -f2`

echo Meu login: $nome
echo Meu nome completo: $completo

done < /tmp/lista
 
lista contem 
eduardo: Eduardo da Silva Ramos

--- Em address@hidden, "Tiago Barcellos Peczenyj"
<tiago.peczenyj@g...> escreveu
>
> Tenta assim:
> 
> OLD_IFS=${IFS}
> IFS=
> login=( ${login[@]} `cat logins.txt | cut -d ':' -f 1` )
> nome=( ${nome[@]} `cat logins.txt | cut -d : -f 2` )
> IFS=${OLD_IFS}
> 
> Explicação: IFS é a variavel que contem os separadores de campo. assim
> ele ve um nome como
> 
> Joaquim Jose da Silva
> 
> ao fazer
> 
> nome=(Joaquim Jose da Silva)
> vc tem um array de 4 elementos, pois vc tem um espaço entre os nomes
> (o que identifica 4 campos, ao inves de 1, como vc quer)
> 
> Acho que assim deve funcionar, tenta ai.
> On 6/28/06, chmod000 <feijo.listas@g...> wrote:
> > Oi pessoal,
> > hoje acho que a minha dúvida é simples:
> >
> > Estou criando um array com nomes a partir de um arquivo de texto
> > simples formatado desta maneira:
> > login:nome completo
> >
> > o script está assim:
> > #!/bin/bash
> > login=( ${login[@]} `cat logins.txt | cut -d ':' -f 1` )
> > nome=( ${nome[@]} `cat logins.txt | cut -d : -f 2` )
> >
> > for i in `seq 0 ${#login[@]}`; do {
> >   echo -e "${nome[i]} : ${login[i]}\n"
> > }
> > done
> >
> > Eis o conteúdo do "logins.txt":
> > $ cat logins.txt
> > feijo:Gustavo Feijo:
> > tiradentes:Joaquim Jose Da Silva Xavier:
> >
> > A idéia é imprimir o Nome Completo e em seguida o Login, separados por
> > um sinal de :
> > só que...
> > $./script.sh
> > Gustavo : feijo
> >
> > Feijo : tiradentes
> >
> > Joaquim :
> >
> >
> > Onde é que está o erro?
> > --
> > []'s
> > chmod000
> > "Microsoft butterfly is their way of telling you their system has a
> > lot of @#$ bugs!"
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta regra
será moderado sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> 
> 
> -- 
> Tiago B Peczenyj
> Linux User #405772
> 
> # cd /pub
> # more beer
>





reply via email to

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