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

[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


reply via email to

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