Introduzione all'array in Unix

L'array è una struttura di dati che contiene un gruppo di elementi tipici dello stesso tipo di dati come string, integer, float, ecc. La struttura di dati dell'array è disponibile anche in Unix.

  • Array in Unix: è la raccolta di elementi che possono o meno essere dello stesso tipo di dati.
  • Indice: la matrice è a base zero, il che significa che gli elementi della matrice sono indicati dall'indice che inizia a zero.
  • Dimensioni: non esiste un limite massimo per le dimensioni dell'array

Sintassi dell'array in Unix

Esistono diversi modi per formare un array negli script di shell. Analizziamo ciascuno di essi in dettaglio:

1. Dichiarazione indiretta: qui il valore viene assegnato per un determinato indice in movimento. Esempio di cui è menzionato di seguito.

Sintassi:

array_name(index) = value

2. Dichiarazione esplicita: in primo luogo, l'array viene dichiarato e successivamente vengono assegnati i valori. Dichiarare è una parola chiave incorporata e -a è un'opzione di lettura integrata che consente di leggere e assegnare valori.

Sintassi:

declare -a array_name

3. Assegnazione composta: qui l'array viene dichiarato con più valori contemporaneamente.

Sintassi:

array_name = (value1 value2 value3 . . . valueN)

O

array_name = ((0)=value1, (1)=value2, (2)=value3..)

Qui l'indice è facoltativo se l'indice non viene fornito, il valore viene assegnato all'ultimo indice più uno

Come funziona l'array in Unix?

Abbiamo imparato i vari modi di creare un array in Unix, ora andiamo avanti e vediamo le varie operazioni che possono essere eseguite sul array Unix.

1. Creeremo la matrice di nomi

2. Per accedere a tutti gli elementi dell'array utilizzare (*) o (@)

Codice:

echo $(first_name(*))
echo $(first_name(@))

Nota: il comando echo è un comando incorporato in Unix che viene utilizzato per visualizzare il testo o la stringa che viene passata come argomento al comando. La sintassi di 'eco' è menzionata di seguito.

Sintassi:

echo (options) (arguments)

3. Per accedere a qualsiasi elemento specifico della stringa utilizzando il suo indice.

Codice:

echo $(first_name(0))
echo $(first_name(1))
echo $(first_name(2))

Produzione:

Nota: () parentesi graffe vengono utilizzate per fare riferimento al contenuto dell'array.

4. Per stampare gli elementi in un intervallo. La sintassi per lo stesso è la seguente:

Sintassi:

echo $array_name(which element):starting_index:count_element)

Familiarizziamo con lo stesso.

Codice:

echo $(first_name(@):0:2)
echo $(first_name(@):2:3)
echo $(first_name(0):1:2)

Produzione:

@: Indica tutti gli elementi dell'array
Nel comando echo $ (first_name (@): 0: 2)
@ considera tutti gli elementi dell'array. 0: significa iniziare con questo particolare indice e 2 visualizza il numero di elementi dal punto iniziale
2 visualizza un numero di elementi dal punto iniziale

In questo comando echo $ (first_name (0): 1: 2)
0 : considera il 0 ° elemento dell'array. 1- è il punto iniziale e 2 - è il conteggio del numero di elementi dal punto iniziale

5. Per ottenere le dimensioni dell'array

Codice:

echo $(#first_name(@))
or
echo $(#first_name(*))

Produzione:


Nota: # viene utilizzato per trovare la lunghezza di un elemento specifico di un array.

6. Per trovare la lunghezza di un elemento specifico di un array

Codice:

echo $(#first_name(0))

Uscita :

7. Per ottenere l'indice dell'array utilizzare il comando seguente.

Codice:

echo $(!first_name(@))

Produzione:


Nota :! viene utilizzato per ottenere l'indice dell'array.

8. Per eliminare l'array nello script viene utilizzato il comando unset. È un comando integrato per distruggere un array o qualsiasi elemento dell'array

Sintassi:

unset array_name

Codice:

unset first_name

9. Per eliminare un elemento in qualsiasi indice specifico

unset first_name(2)

Ciò eliminerà l'elemento all'indice 2.

10. Per cercare un modello specifico nell'array.

Codice:

echo $(first_name(@)/*(aA)*/)

Produzione:

Qui, first_name (@): si riferisce a tutti gli elementi dell'array
/ pattern da cercare /: è il pattern da cercare nell'array o nel suo elemento.
Restituirà 1 se viene trovata la corrispondenza e 0 se non viene trovata alcuna corrispondenza.

11. Per cercare un modello specifico e sostituirlo nell'array specificato.

Codice:

echo $(first_name(@)//a/A)

first_name (@): considera tutti gli elementi dell'array
// modello da cercare / stringa di sostituzione /: stringa di ricerca e sostituzione

Produzione:

first_name (2): cerca e sostituisce le operazioni da eseguire sull'elemento con indice 2.

Durante l'esecuzione dell'operazione di ricerca e sostituzione non sono state apportate modifiche al valore originale dell'array. Restituisce un nuovo valore che può essere memorizzato nella stessa o in variabili diverse.

12. Per eseguire un'operazione sugli elementi di un array possiamo usare i loop. Come qualsiasi altro linguaggio di programmazione, la shell Bourne supporta due tipi di loop, ovvero loop e while loop. Vediamo un esempio per scorrere su un array usando for loop.

Codice:

Arr = (1 2 3 4 5)
for i in “$(Arr(@))”
do
echo $i
done

Uscita :

Allo stesso modo, puoi iterare su un array usando anche un ciclo while.

Tieni presente che ci sono vari tipi di shell disponibili in Unix come Bash, K shell, Bourne shell, ecc. Shell non è altro che un'interfaccia per i sistemi Unix con diversi set di comandi e funzioni. Quindi, sulla base di vari tipi di shell, ci sono diverse sintassi associate all'array e alle sue operazioni con una leggera variazione nella sintassi dei comandi discussi sopra.

Bash Shell consente anche le operazioni di array sulle variabili senza che le variabili vengano dichiarate esplicitamente come array. Esaminiamo l'esempio per comprendere meglio l'affermazione di cui sopra.

Codice:

String_variable = India is a democratic country
echo “$(string(0))”

Produzione:

Conclusione

Fondamentalmente array è una raccolta di elementi archiviati in una posizione di memoria contigua. Lo scopo dietro la formazione di un array è quello di memorizzare più elementi dello stesso tipo insieme a tipi di dati uguali o diversi. In uno scenario pratico, il motivo per cui la struttura degli array è in ritardo di popolarità è dovuto alla sua mancanza di compatibilità con varie shell e strutture complesse.

Articoli consigliati

Questa è una guida all'array in Unix. Qui discutiamo la sintassi e il funzionamento dell'array in Unix insieme a vari esempi e implementazione del codice. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Server proxy Linux
  2. Tipi di conchiglie in Linux
  3. Crea utente in Linux
  4. File system Unix
  5. Guida a For Loop in Shell Scripting

Categoria: