[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Espaços em array
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Espaços em array |
Date: |
Wed, 28 Jun 2006 16:55:31 -0300 |
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 <address@hidden> 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