[glux] Bash quiz

Cristian Rigamonti cri@linux.it
Ven 17 Set 2004 23:59:29 CEST


Problemino: posso in uno script bash (vale anche sed o awk :-) assegnare
ogni riga proveniente dal risultato di un grep a un array?

Per ora ci sono riuscito salvando il risultato di grep in un file
temporaneo e poi facendogli leggere le righe una per volta; vorrei farlo
senza usare file temporanei, concatenando in qualche modo l'output di
grep all'assegnazione dell'array.

Ho provato questo ($REPLY e' il nome default usato da read):

  i=1

  grep ago pagliaio | while read ; do
    risultato[$i]=$REPLY
    let i+=1
  done

...ma se faccio

  echo ${risultato[1]}

fuori dal ciclo while, mi ritorna un risultato nullo!

Se metto l'echo nel ciclo while, l'array viene stampato (segno che viene
assegnato correttamente), ma se tento di recuperare il valore una volta
fuori dal ciclo, nisba!

Idee?

Cri

-- 
Signed/encrypted mail welcome      -     http://www.gnupg.org
GPG/PGP Key-Id: 0x943A5F0E         -     http://www.linux.it/~cri/cri.asc
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  189 bytes
Descrizione: Digital signature
Url:         http://lists.linux.it/pipermail/glux/attachments/20040917/7c844cb2/attachment.pgp


Maggiori informazioni sulla lista glux