<Precedenti | Contenuti | Succ.>
Ordinamento di un array
Proprio come nei fogli di calcolo, spesso è necessario ordinare i valori in una colonna di dati. La shell non ha un modo diretto per farlo, ma non è difficile farlo con un po' di codice:
#! / Bin / bash
# array-sort: ordina un array a=(fedcba)
echo "Array originale: ${a[@]}"
a_sorted=($(for i in "${a[@]}"; do echo $i; done | sort)) echo "Array ordinato: ${a_sorted[@]}"
#! / Bin / bash
# array-sort: ordina un array a=(fedcba)
echo "Array originale: ${a[@]}"
a_sorted=($(for i in "${a[@]}"; do echo $i; done | sort)) echo "Array ordinato: ${a_sorted[@]}"
Una volta eseguito, lo script produce quanto segue:
[io@linuxbox~]$ ordinamento array Array originale: fedcba Array ordinato: abcdef
[io@linuxbox~]$ ordinamento array Array originale: fedcba Array ordinato: abcdef
Lo script funziona copiando il contenuto dell'array originale (a) in un secondo array (un_ordinato) con una complicata tecnica di sostituzione dei comandi. Questa tecnica di base può essere utilizzata per eseguire molti tipi di operazioni sull'array modificando la progettazione della pipeline.