Introducere în Array în Unix

Array este o structură de date care conține un grup de elemente care sunt tipice aceluiași tip de date, cum ar fi șir, număr întreg, float, etc. Structura de date Array este de asemenea disponibilă în Unix.

  • Array in Unix: reprezintă colecția de elemente care pot sau nu să fie de același tip de date.
  • Index: Array-ul este bazat pe zero, ceea ce înseamnă că elementele tabloului sunt referite de indexul care începe zero.
  • Dimensiune: nu există o limită maximă la dimensiunea tabloului

Sintaxa Array în Unix

Există diferite moduri de formare a unui tablou în scripturile shell. Să parcurgem fiecare în detalii:

1. Declarație indirectă: aici valoarea este atribuită pentru un anumit indice din mers. Un exemplu este menționat mai jos.

Sintaxă:

array_name(index) = value

2. Declarație explicită: În primul rând, tabelul este declarat și apoi mai târziu valorile sunt atribuite. Declarea este un cuvânt cheie încorporat și -a este o opțiune de citire încorporată care permite citirea și atribuirea de valori.

Sintaxă:

declare -a array_name

3. Alocare compus: Aici, tabloul este declarat cu mai multe valori simultan.

Sintaxă:

array_name = (value1 value2 value3 . . . valueN)

Sau

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

Aici indexul este opțional dacă indicele nu este furnizat, valoarea este atribuită ultimului index plus unu

Cum funcționează Array în Unix?

Am învățat diferitele moduri de creare a unui tablou în Unix, să mergem acum înainte și să vedem diverse operații care pot fi efectuate pe tabloul Unix.

1. Vom crea o serie de nume

2. Pentru a accesa toate elementele tabloului folosiți (*) sau (@)

Cod:

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

Notă: comanda echo este o comandă încorporată în Unix care este utilizată pentru a afișa textul sau șirul care este transmis ca argument la comandă. Sintaxa „ecoul” este menționată mai jos.

Sintaxă:

echo (options) (arguments)

3. Pentru a accesa orice element specific al șirului folosind indexul său.

Cod:

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

ieşire:

Notă: () bretelele cret sunt folosite pentru a face referire la conținutul tabloului.

4. Pentru a imprima elementele dintr-un interval. Sintaxa pentru aceeași este următoarea:

Sintaxă:

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

Să ne familiarizăm cu același lucru.

Cod:

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

ieşire:

@ - se referă la toate elementele tabloului
În ecoul comenzii $ (first_name (@): 0: 2)
@ ia în considerare toate elementele tabloului. 0 - înseamnă să începeți cu acest index special și 2 afișează numărul de elemente din punctul de plecare
2 afișează o serie de elemente din punctul de plecare

În această comandă ecou $ (first_name (0): 1: 2)
0 - ia în considerare elementul 0 al tabloului. 1- este punctul de plecare și 2 - este numărul numărului de elemente din punctul de plecare

5. Pentru a obține dimensiunea tabloului

Cod:

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

ieşire:


Notă: # este utilizat pentru a găsi lungimea unui anumit element al unui tablou.

6. Pentru a găsi lungimea unui element specific al unui tablou

Cod:

echo $(#first_name(0))

Rezultat :

7. Pentru a obține indexul tabloului pentru a utiliza comanda de mai jos.

Cod:

echo $(!first_name(@))

ieşire:


Notă :! este utilizat pentru a obține indexul tabloului.

8. Pentru a șterge tabloul din scriptul nesetat script se folosește comanda. Este o comandă încorporată pentru a distruge un tablou sau orice element al tabloului

Sintaxă:

unset array_name

Cod:

unset first_name

9. Pentru a șterge un element la orice index specific

unset first_name(2)

Acest lucru va șterge elementul din indexul 2.

10. Pentru a căuta un model specific în tablou.

Cod:

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

ieşire:

Aici, prenumele (@): se referă la toate elementele tabloului
/ model care trebuie căutat /: Este modelul care trebuie căutat în tablou sau elementul său.
Se va întoarce 1 dacă meciul este găsit și 0 dacă nu a fost găsit niciun meci.

11. Pentru a căuta un model specific și înlocuiți-l în tabloul dat.

Cod:

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

first_name (@): Luați în considerare toate elementele tabloului
// model de căutat / șir de înlocuire /: șir de căutare și înlocuire

ieşire:

prenumele (2): căutați și înlocuiți operațiunile care trebuie efectuate pe elementul cu indexul 2.

În timpul efectuării operației de căutare și înlocuire, nu există modificări în valoarea originală a tabloului. Întoarce o nouă valoare care poate fi stocată în aceleași variabile.

12. Pentru a efectua o operație pe elementele unui tablou putem folosi Buclele. Ca orice alt limbaj de programare, shell-ul Bourne acceptă două tipuri de bucle, adică pentru buclă și loop. Să ne uităm la un exemplu pentru a itera peste un tablou folosind pentru buclă.

Cod:

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

Rezultat :

În mod similar, puteți itera peste un tablou folosind și o buclă de timp.

Vă rugăm să rețineți că există diferite tipuri diferite de shell-uri disponibile în Unix, cum ar fi Bash, K shell, Bourne shell, etc. Shell nu este decât o interfață pentru sistemele Unix cu diferite seturi de comenzi și funcții. Deci, pe baza diferitelor tipuri de shell, există diferite sintaxe asociate cu tabloul și operațiunile sale, cu o ușoară variație în sintaxa comenzilor care sunt discutate mai sus.

Bash Shell permite, de asemenea, operațiunile de array pe variabile, fără ca variabilele să fie declarate explicit ca tablou. Să ne uităm la exemplu pentru a înțelege mai bine afirmația de mai sus.

Cod:

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

ieşire:

Concluzie

Practic, tabloul este o colecție de articole stocate într-o locație de memorie contiguă. Scopul formării unui tablou este de a stoca mai multe articole de același tip împreună cu aceleași sau diferite tipuri de date. Într-un scenariu practic, motivul pentru care structura de matrice rămâne popularizată se datorează lipsei de compatibilitate cu diferite structuri shell și complexe.

Articole recomandate

Acesta este un ghid pentru Array in Unix. Aici discutăm sintaxa și funcționarea tabloului în Unix împreună cu diverse exemple și implementarea codului. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Linux Proxy Server
  2. Tipuri de shell-uri în Linux
  3. Creați utilizator în Linux
  4. Sistem de fișiere Unix
  5. Ghid pentru Pentru bucle în Scripturi Shell