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

Re: [BASH] Inserire contenuto di LS in un ARRAY



> Ecco la parte di codice:
> 
> for i in `ls -R | grep xls`; do
>       file[${c}]="$i"
>       let c++
> done
> 
> Per? dato che i nomi dei file contengono degli spazi, quando visualizzo 
> i valori ottengo solo una parte del nome del file.
> 
> Esempio:
> 
> nome file.xls
> echo $file[0]  # nome
> echo $file[1]  #file.xls
> 

Devi cambiare il modo in cui la shell separa cio' che viene messo nella
variabile i.

Lo puoi controllare con la variabile di ambiente $IFS

Quindi, prima del loop mettici:

export IFS=$'\n';

for i in `ls -R | grep xls`; do
      file[${c}]="$i"
      let c++
done

E dovrebbe funzionare

-- 

Franco (nextime) Lanza
Busto Arsizio - Italy
SIP://casa@casa.nexlab.it

NO TCPA: http://www.no1984.org
you can download my public key at:
http://danex.nexlab.it/nextime.asc || Key Servers
Key ID = D6132D50
Key fingerprint = 66ED 5211 9D59 DA53 1DF7  4189 DFED F580 D613 2D50
-----------------------------------
echo 16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D212153574F444E49572045535520454D20454B414D204F54204847554F4E452059415020544F4E4E4143205345544147204C4C4942snlbxq | dc
-----------------------------------

Attachment: signature.asc
Description: PGP signature


Reply to: