Come trovare la lunghezza di un array in script di shell

Come trovare la lunghezza di un array in script di shell
Lo scripting di shell è un'abilità essenziale che ogni amministratore di Linux o Unix deve possedere. La capacità di manipolare ed elaborare i dati è una delle attività chiave di un amministratore Linux/Unix. Trovare la lunghezza di un array è un'operazione frequente negli script di shell. Il numero totale di elementi in un array determina la lunghezza dell'array. Esamineremo varie tecniche di script di shell in questo post per determinare la lunghezza di un array.

Come trovare la lunghezza di un array in script di shell

Trovare la lunghezza di un array nella shell può essere utile per loop su elementi ed eseguire operazioni su di essi. Inoltre, può essere usato per verificare che un array abbia un certo numero di elementi prima di procedere con uno script, di seguito sono riportati alcuni modi per farlo:

  • Utilizzando il parametro integrato
  • Usando il comando EXPR
  • Utilizzando per loop

Metodo 1: utilizzando il parametro incorporato

Il modo più semplice per trovare la lunghezza di un array è utilizzare il parametro incorporato shell $ #array [@] o $ #array [*]. I simboli @ e * vengono utilizzati per fare riferimento a tutti gli elementi dell'array.

#!/Bin/Bash
my_array = (rosso blu rosa)
echo "La lunghezza dell'array è $ #my_array [@]"

Ecco l'output dello script shell che utilizza il suo parametro integrato per ottenere la lunghezza di un array:

Metodo 2: usando il comando EXPR

Il comando EXPR viene utilizzato per valutare un'espressione e stampare il risultato all'output standard. Possiamo usare il comando wc -w per contare il numero di elementi nell'array e passare il risultato al comando EXPR per ottenere la lunghezza dell'array.

#!/Bin/Bash
my_array = (rosso blu rosa)
lunghezza = $ (echo $ my_array [@] | wc -w)
echo "La lunghezza dell'array è $ (exp $ lunghezza)"

Ecco l'output dello script shell che utilizza l'EXPR per ottenere la lunghezza di un array:

Metodo 3: usando per loop

Possiamo anche trovare la lunghezza di un array usando un loop. In questo metodo, ripetiamo ogni elemento dell'array e contiamo il numero di elementi.

#!/Bin/Bash
my_array = (rosso blu rosa)
lunghezza = 0
Per I in "$ my_array [@]"
Fare
lunghezza = $ ((lunghezza+1))
Fatto
Echo "La lunghezza dell'array è $ lunghezza"

Conclusione

In questo articolo, abbiamo esplorato diversi modi per trovare la lunghezza di un array negli script di shell. Abbiamo usato il parametro incorporato shell $ #array [@], il comando EXPR e un ciclo per trovare la lunghezza dell'array. Tutti e tre i metodi sono ugualmente efficaci e dipende dalle preferenze e dai requisiti dell'utente per scegliere il metodo appropriato.